[SQL ] left join + 子查詢
大家好,
如果打算left join兩個subquery, 能不能在第二個子查詢中使用到第一個子查詢的結果
類似下面這樣的寫法
SELECT * FROM
(SELECT A.PID, A.Name FROM A WHERE A.column='123' ) t1 //subquery 1
^^^^^^^希望在第二個子查詢中使用到它
LEFT OUTER JOIN
(SELECT * FROM B WHERE B.FID IN(t1.PID) AND ...) //subquery 2
^^^^^^^ 希望在這用到
情況是 subquery 2 中的 TABLE2 有 FK(FID) 指到 TABLE1 的PK(PID)
只是如果subquery 2 沒有以subquery 1的結果先過濾 PID, 資料量會很大而造成處理時間
很長, 且subquery 2 中的FID不需要有在 subquery 1 處理結果 PID 外的
我在SQL Server 2008上測試是不行, 所以只能在 subquery 2中再重寫一次類
subquery 1的查詢去過濾..
不知道有無其他作法, 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.6.2