こんにちは、なぜ異なる結果が得られるのかわかりません。誰かが私の間違いを教えてもらえますか?
このクエリは 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)