2013-08-24 86 views
0

我在SQL Server中的以下相關子查詢,工作正常如何從相關子查詢where子句添加到列

select *, [Status]=(select Max([Status]) from Data_121EmailLog o2 
where o2.Data_121Id = o1.Data_121Id) from Data_121 o1 

你可以看到發生了什麼,從這張截圖怎麼回事

enter image description here

然而,當我嘗試添加,其中在生成的子查詢中列第不起作用

enter image description here

如何在[Status]列中添加where子句。在我的例子,應返回1分的結果只有1個紀錄的2

+0

你不能在'哪裏使用列別名'子句:http://stackoverflow.com/a/6591216/1163867 – MarcinJuraszek

回答

0

繼MarcinJuraszek的評論鏈接狀態解決了這個問題對我來說

SELECT * FROM (
select *, [Status]=(select Max([Status]) from Data_121EmailLog o2 
where o2.Data_121Id = o1.Data_121Id) from Data_121 o1) a where a.[Status] = 2