-7
この2つのテーブルは外部キーとの結合です。私は情報にいくつかの値を挿入するが、私はどの値が名前テーブルから情報に挿入されていないかを知る必要がある。 Iはname.idを見つける意味は規範的なアプローチは、抗参加パターンで等しいinfo.sidSQL外部キーと結合する2つのテーブルがあります。私は2番目のテーブルから見つからないIDを探したい
この2つのテーブルは外部キーとの結合です。私は情報にいくつかの値を挿入するが、私はどの値が名前テーブルから情報に挿入されていないかを知る必要がある。 Iはname.idを見つける意味は規範的なアプローチは、抗参加パターンで等しいinfo.sidSQL外部キーと結合する2つのテーブルがあります。私は2番目のテーブルから見つからないIDを探したい
ありません。基本的に
表2に一致する行を持たないid
列の値を有する表1に行を検索(すなわち行が一致fk_id
値と表2に存在しない)
SELECT t1.id
FROM table1 t1
LEFT
JOIN table2 t2
ON t2.fk_id = t1.id
WHERE t2.fk_id IS NULL
このクエリtable2の一致する行とともにtable1のすべての行を返しますが、はtable2に一致する行が見つかった個の行を除外します。 table2に一致していないtable1の行だけを残しておきます。
これは、1つのアプローチのデモンストレーションです。同等の結果を返すクエリパターンが2つあります。
現在の結果:予想された結果? –
これは単純な結合、LEFTまたはRIGHTだけでなく、そこではIDがどこにNULL(一致しない)かを指定する必要があります。何か詳細な回答が必要な場合は、いくつかのデータと期待される結果(画像とは対照的に)を掲示してください。また、どのデータベースエンジンを使用していますか? SQL ServerとMySQLは異なるものです – Leonidas199x
https://meta.stackoverflow.com/questions/285551/why-not-upload-images-of-code-on-so-when-asking-a-question – spencer7593