2017-09-15 28 views
-2

私は両方のテーブルで共通のいくつかの列を比較して2つのテーブルから一致しないレコードを取得しようとしています.iは結果を得るためにSQLクエリを使用しています。私の最初のテーブルはsnd_marketvisitsです。このテーブルはid、pjpCode、セクションコード、popCode .pop_name、ランドマークと同様のプロパティを持っています。私の2番目のテーブルはpjpcode、セクションコード、popcode popnameを持っています。 2番目のテーブルにはないが、両方のテーブルのpopcode、sectioncodeおよびpjpcodeを比較してsnd_marketvisitテーブルに存在するポップ。sqlのクエリが正しく動作していません

SELECT * 
FROM snd_marketvisits sm 
LEFT JOIN snd_marketvisit_pops sp ON 
    sm.distributorCode = sp.distributor AND 
    sm.pjpCode = sp.pjp AND 
    sm.sectionCode = sp.sectionCode AND 
    sm.popCode = sp.popCode 
WHERE 
    sm.sectionCode = '00016' AND 
    sm.pjpCode = '0001' AND 
    sm.distributorCode = '00190A' 
+2

してください「ミニマル完全、かつ検証例を作成する方法」をお読みhttps://stackoverflow.com/help/mcve –

+0

は、表の構造やSQL文を提供することができますが、現在してくださいを使用していますか? –

+0

コードを修正してもらいたいのですが、コードを表示しませんか? snd_marketvisits FROM – HoneyBadger

答えて

0

それは私の知る限りでは、データベースに依存しますが、あなたはyoinedフィールド内のNULLを求める場合は、一致せずに行のみを取得する必要があります。

SELECT * 
FROM snd_marketvisits sm 
LEFT JOIN snd_marketvisit_pops sp ON 
    sm.distributorCode = sp.distributor AND 
    sm.pjpCode = sp.pjp AND 
    sm.sectionCode = sp.sectionCode AND 
    sm.popCode = sp.popCode 
WHERE 
    sm.sectionCode = '00016' AND 
    sm.pjpCode = '0001' AND 
    sm.distributorCode = '00190A' 

AND sp.distributor IS NULL 
関連する問題