我有一些(My)SQL查詢的問題。在我的數據庫中,我有兩個表。一個叫做kfz_typen,另一個叫做kfz_temp2。我需要獲取kfz_temp2表的所有條目,其中ktyp(只是一個整數字段)不在kfz_typen表中。爲什麼這個SQL查詢不適合我?
SELECT * FROM kfz_temp2
WHERE kfz_temp2.KType NOT IN (SELECT DISTINCT kfz_typen.ktyp FROM kfz_typen)
在我看來,上面這個查詢應該完全是我想要的。但它不!我只是從我的MySQL服務器得到一個空的結果。
如果查詢中沒有「NOT」,我會得到兩個表中的條目,所以匹配確實有效。
那麼上面的查詢有什麼問題?
什麼'從kfz_typen'選擇不同的kfz_typen.ktyp自己返回? – Simon 2012-07-21 11:11:31
@Simon:它返回它所要的,http://nopaste.info/644154e4a4.html – 2012-07-21 12:19:12
@DimitriR .:必須別的。請參見[here](http://sqlfiddle.com/#!2/4365d/1) – 2012-07-21 12:48:24