列名的子查询

时间:2014-04-17 15:27:59

标签: sql sql-server sql-server-2008-r2

我现在正在做类似下面的事情

Select T1.Col1,T1.Col2, (Select top 1 Id
                   From Table2
                   Where Ref=T1.Id
                   Order By Date Desc) AS T2Id,

                     (Select top 1 Title
                   From Table2
                   Where Ref=T1.Id
                   Order By Date Desc) AS T2Title
From Table1 T1

有没有简单的方法可以一次检索两个而不查询相同的表格?

1 个答案:

答案 0 :(得分:0)

您需要在此使用cross apply

Select T1.Col1,T1.Col2,T2.Id,T2.Title
From Table1 T1
    cross apply  (Select top 1 Id, Title
                   From Table2
                   Where Ref=T1.Id
                   Order By Date Desc) AS T2