0

クエリ:

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 を持つ結果のみが含まれています。ここで何が欠けていますか....

すべての応答に感謝します!

4

3 に答える 3

2

結合によって含まれていたものをすべて除外しているように見えるので、そのクエリで何かを得ていることに驚いています。クエリを次のように変更してみてください。

SELECT * from t1
WHERE item_id NOT IN (SELECT item_id from t2)
于 2012-06-08T18:35:19.003 に答える
0

これにより、T2に対応するエントリがないT1からアイテムが選択されます。これがあなたが望んでいたことだと思います。

SELECT * 
from t1
LEFT JOIN t2 ON t1.item_id = t2.item_id
WHERE t2.item_id IS NULL
于 2012-06-08T18:44:30.273 に答える
0

参加してからすべてを除外します:/

少なくともそれがSQLがここで言っていることです

次のようなことを試してください:

SELECT 
    item_id
FROM 
    t1
WHERE 
    item_id NOT IN (SELECT item_id from t2)

ここのように。

于 2012-06-08T18:39:36.940 に答える