我有一个返回列表代码的查询。
SELECT cc.code FROM lotw l
LEFT JOIN CountryCode AS cc on cc.code = l.dxcc
WHERE cc.code > '' GROUP BY cc.Country
这很好用。现在我需要在国家/地区表中查询不在列表中的代码,这些代码是从上面的查询中发回的。所以我尝试了以下内容:
SELECT code,country from CountryCode
WHERE code != (SELECT cc.code FROM lotw l
LEFT JOIN CountryCode AS cc on cc.code = l.dxcc
WHERE cc.code > '' GROUP BY cc.Country)
但是我从国家/地区代码中取回了所有记录?我想要所有代码不在子查询中的国家?
答案 0 :(得分:0)
您需要使用NOT IN
代替!=
;
SELECT code,country from CountryCode
WHERE code NOT IN (SELECT cc.code FROM lotw l
LEFT JOIN CountryCode AS cc on cc.code = l.dxcc
WHERE cc.code > '' GROUP BY cc.Country)