0

我有一个返回列表代码的查询。

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)

但是我从国家代码中取回所有记录?我想要代码不在子查询中的所有国家?

4

1 回答 1

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)
于 2013-06-01T17:46:10.790 回答