如何根据表2总计数从表1中获取记录数

时间:2016-01-22 12:29:52

标签: sql sql-server

表1

Rowno   name         Date
------------------------------------
1     sathish        Dec 21    
2     kumar          Dec 22
3     sathish        Dec 21
4     sathish        Dec 22
5     sathish        Dec 21
5     sathish        Dec 22

表2

Date          NoofTran
-----------------------
Dec22            2
Dec21            1

我希望根据table1 table2值随机获取nooftran的记录。

在12月21日,有3条记录,没有要显示的记录是2,它应该是随机的。

我应该使用哪种SQL查询?

2 个答案:

答案 0 :(得分:0)

您可以通过NoofTran

加入两个表格和订单
select Table1.*
from Table1 T1
inner join Table2 T2
on T1.[Date] = T2.[Date]
order by T2.NoofTran DESC

这将以NoofTran命令

为您提供结果

答案 1 :(得分:0)

 WITH CTE  AS (
        SELECT *, ROW_NUMBER() 
        OVER (
            PARTITION BY T1.Date 
            order by NEWID()
        ) AS RN 
        FROM Table1 T1
    )
    SELECT CTE.RowNo,CTE.Date, CTE.Name
    FROM CTE INNER JOIN Table2 T2 
    ON T2.date=cte.Date
    WHERE RN <= T2.NoofTran