クエリ:
SELECT *
from t1
INNER JOIN t2 ON t1.item_id = t2.item_id
WHERE t1.item_id NOT IN
(Select t2.item_id from t2)
基本的に、t2 テーブルの item_id を持つすべての結果を除外しようとしていますが、t2 テーブルに item_id を持つ結果のみが含まれています。ここで何が欠けていますか....
すべての応答に感謝します!
クエリ:
SELECT *
from t1
INNER JOIN t2 ON t1.item_id = t2.item_id
WHERE t1.item_id NOT IN
(Select t2.item_id from t2)
基本的に、t2 テーブルの item_id を持つすべての結果を除外しようとしていますが、t2 テーブルに item_id を持つ結果のみが含まれています。ここで何が欠けていますか....
すべての応答に感謝します!
結合によって含まれていたものをすべて除外しているように見えるので、そのクエリで何かを得ていることに驚いています。クエリを次のように変更してみてください。
SELECT * from t1
WHERE item_id NOT IN (SELECT item_id from t2)
これにより、T2に対応するエントリがないT1からアイテムが選択されます。これがあなたが望んでいたことだと思います。
SELECT *
from t1
LEFT JOIN t2 ON t1.item_id = t2.item_id
WHERE t2.item_id IS NULL
参加してからすべてを除外します:/
少なくともそれがSQLがここで言っていることです
次のようなことを試してください:
SELECT
item_id
FROM
t1
WHERE
item_id NOT IN (SELECT item_id from t2)
ここのように。