画像のテーブルを検討してください
同じReferenceIdを持つTable2のアイテムを除いてTable1から行を選択する方法は?
結果は
同じReferenceIdを持つTable2の項目を除いて、Table1から行を選択するにはどうすればよいですか?
その後、によって除外ReferenceId
しますt2.ReferenceId <> t1.ReferenceId
SELECT t1.id, t1.ReferenceID FROM t1
INNER JOIN t2 ON t1.id = t2.id
WHERE t2.ReferenceID <> t1.ReferenceID;
LEFT OUTER結合を使用して、ReferenceIdのテーブルを結合し、戻り値をTable2のReferenceIdがNULLになる場所に制限できます。
SELECT * FROM Table1 LEFT JOIN Table2 ON Table1.ReferenceId = Table2.ReferenceId
WHERE Table2.ReferenceId IS NULL
次のようなものを使用できます。
SELECT Id
,ReferenceId
FROM Table1
WHERE ReferenceId NOT IN (SELECT DISTINCT ReferenceId FROM Table2);
SELECT table1.id, table1.ReferenceID from table1
inner join table2 on table1.id = table2.id
EXCEPT
SELECT id, ReferenceID from table2
条件付きで問い合わせる
SELECT *
FROM Table1 t1
JOIN Table2 t2 on t1.Id = t2.Id
AND t1.Id <> t1.ReferenceId