[英]Need assistance with Left Outer join?
SELECT ID
(
Select ID from Table1
where Table1.ID=@ID
)T1
Left Outer join
(
Select top 1 Table2.ID from Table2 join Table3 on table3.ID=Table2.ID
order by Table2.ID DESC
)T2 on T2.ID=T1.ID
這只是我與我的實際存儲過程的一個例子,我面臨的問題是我無法從T2檢索它只返回為NULL但是當我更改它時我能夠檢索價值。 這個Join是否正確,是否有必要將左外連接內的部分放在哪里才能檢索值?
如果你正在使用TOP,你需要決定所有選擇(全部三個)你的數據應該如何排序,這樣你就可以控制你要回收的值,也可以更具體地說明你過濾的內容。
幾點意見。
您的T1 SELECT沒有ORDER BY子句,那么您如何知道返回哪個TOP 250?
如果T2返回NULL,那么T1和T2之間沒有匹配,可能是由於我的第一個點?
你到底想要完成什么?
你可以嘗試這樣的事情:
SELECT
TOP 250 Table1.ID
FROM
Table1
LEFT OUTER JOIN
Table2 ON Table2.ID = Table1.ID
LEFT OUTER JOIN
Table3 ON Table3.ID = Table2.ID
WHERE
Table1.ID = @ID
ORDER BY
Table1.ID DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.