2017-07-26 18 views
0
TableA  TableB       TableC 

matl  matl | job | suffix  job | suffix 
-------  ---------------------------- -------------- 
itemA  itemA| jobA | suffixA  jobA | suffixA 
itemB  NULL | NULL | NULL  

-當第一次連接需要考慮NULL時,如何連接這些表?

加盟後,我需要返回:

查詢

matl | job suffix 
--------------------------- 
itemA | jobA suffixA 
itemB | NULL NULL 

我怎麼會寫我的查詢使用信息TableATableC返回的信息,如果加入後TableC中沒有信息,請返回NULL

回答

0
SELECT A.matl, 
     B.jobA, 
     B.suffix 
    FROM TableA A 
LEFT JOIN 
     (SELECT * 
      FROM TableB 
      WHERE (job,suffix) IN (SELECT job,suffix FROM TableC) 
     ) B 
    ON A.matl = B.matl; 
+0

請參閱問題的最後一段 - 我需要從'TableC'返回信息。 – DarthVoid

+0

TableC中是否有其他信息? – Shawn

0

使用LEFT JOIN

SELECT * 
FROM TableA A 
LEFT JOIN TableB B 
ON A.matl = B.matl 
LEFT JOIN TableC C 
ON B.job = C.job 
AND B.suffix = C.suffix