嗨,我不确定为什么它会产生不同的结果。有人可以让我知道我的错误是什么吗?
此查询返回 2 行记录
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE Prod.intDepartmentRef =4
bintProductRef
--------------------
164475
164476
这个查询返回 1 行记录
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE intCatRef = 132
bintProductRef
--------------------
164475
NOT EXISTS,当结合上述 2 个查询时,它应该返回 164476,但没有输出。
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE Prod.intDepartmentRef =4
AND NOT EXISTS (
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE intCatRef = 132)
NOT IN,这返回 1 行数据,即 164476,这是正确的。
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE Prod.intDepartmentRef =4
AND Prod.bintProductRef NOT IN (
SELECT Prod.bintProductRef FROM Prod_ProfileTbl Prod
WHERE intCatRef = 132)