2017-04-10 19 views
1

私は助けが必要です。レコードが存在しない場合はSQL結合テーブルに空のフィールドが表示されます

私はそれがこの

所望の出力のように見えるようにテーブルを結合する必要が2倍

表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 

に参加する必要があり

実際には210
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の対応するフィールドにはNullを表示します。

+2

こんにちはJOIN句 – 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

に追加し、CONTENT_TYPEあなたの提案が正常に動作してどうもありがとうございました。 –

+0

問題はありません。我々はどこかに出発した。 – iPhantomGuy

関連する問題