2017-04-10 148 views
1

我需要幫助。如果記錄不存在,SQL連接表顯示空字段

我需要連接兩個雙打

表1

Product_Name Content_Type Price 
Movie   Adult  10 
Movie   Kids  10 

表2

Product_Name Content_Type Rating 
Movie   Adult  A 
Movie   Kids   B 
Movie   Romance  C 

我需要加入表,因此它看起來像這樣

所需的輸出

Product_Name Content_Type Price Rating 
    Movie   Adult  10  A 
    Movie   Kids  10  B 
    Movie   Romance   C 

電流輸出

Product_Name Content_Type Price Rating 
    Movie   Adult  10  A 
    Movie   Kids  10  B 
    Movie   Romance 10  C 

當前查詢

select * from table2 left join table1 on table2.Product_Name=table1.Product_Name 

事實上,在真正的表有PRODUCT_NAME的許多值。 我用這種邏輯寫了這樣的查詢,

查找table2中的所有行,在table1中查找匹配並加入行。如果table2中有一行,但table1中沒有行,那麼只顯示table2的值,同時顯示table1中相應字段的空值。

+2

在連接子句中添加AND content_type – etsa

回答

5

如果您只加入product_name,您將無法獲得內容類型爲Romance的記錄。您還需要加入content_type以及:

select * 
from table2 left join 
    table1 
    on table2.Product_Name=table1.Product_Name and 
     table2.content_type = table1.content_type 
+0

非常感謝您的建議工作正常。 –

+0

沒問題,夥計。我們都開始在某個地方。 – iPhantomGuy

相關問題