SQL查询无法正常工作

时间:2017-09-15 09:50:07

标签: sql

我试图通过比较两个表中常见的一些列来从两个表中获取非匹配记录。我正在使用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' 

1 个答案:

答案 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