2017-09-15 128 views
-2

我想通過比較兩個表中通用的一些列來獲得兩個表中的不匹配的記錄。我正在使用sql查詢來獲得結果。我的第一張桌子是snd_marketvisits這張桌子有像id,pjpCode,節代碼,popCode.pop_name和地標相似的屬性我的第二張桌子有pjpcode,節代碼,popcode popname是常見的,還有一些其他字段。我想要得到通過比較兩個表中的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

因此,您希望我們修復您的代碼,但您不會向我們顯示代碼? – HoneyBadger

回答

0

這取決於數據庫,因爲據我所知,但如果你問你的NULL字段yoined裏面你應該得到的只是行不匹配。

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