SQLite在where子句中选择

时间:2013-06-01 17:40:04

标签: sqlite select where-clause

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

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)

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

1 个答案:

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