2013-06-01 97 views
0

我有一个查询返回一个列表代码。sqllite select where条款

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

就是这样!如果你把它作为答案,我会将它标记为答案,谢谢 – Mike

回答

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)