2013-06-01 96 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)