我试图通过比较两个表中常见的一些列来从两个表中获取非匹配记录。我正在使用sql查询来获取结果。我的第一个表是snd_marketvisits这个表有像id,pjpCode,部分代码,popCode .pop_name和地标相似的属性我的第二个表有pjpcode,部分代码,popcode popname是常见的,还有一些其他fields.i想得到的名字通过比较两个表中的popcode,sectioncode和pjpcode,不在第二个表中但存在于snd_marketvisit表中的pop。
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'
答案 0 :(得分: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