我的(My)SQL查询存在一些问题。在我的数据库中,我有两张桌子。一个叫kfz_typen,另一个叫kfz_temp2。我需要获取kfz_temp2表的所有条目,ktyp(只是一个整数字段)不在kfz_typen表中。
SELECT * FROM kfz_temp2
WHERE kfz_temp2.KType NOT IN (SELECT DISTINCT kfz_typen.ktyp FROM kfz_typen)
在我看来,上面的这个问题应该完全按照我的意愿行事。但它并没有!我只是从我的MySQL服务器返回一个空结果。
没有" NOT"在Query中,我得到了两个表中的条目,因此匹配确实有效。
那么上面的查询有什么问题?
答案 0 :(得分:2)
这会有用吗?
SELECT t2.* FROM kfz_temp2 t2
LEFT JOIN kfz_typen tn ON t2.KType = tn.ktyp
WHERE tn.ktyp IS NULL
您可能需要对结果进行分组。
我不确定为什么第一个查询不起作用,但我相信这也是一样的。
答案 1 :(得分:-2)
删除distinct然后我希望它对你有帮助。