複数の行に基づいて2つのテーブルを結合したいが、これを行う正しい方法が見つからない。表2で正確に行を一致複数行のMS SQLマッチテーブル
TABLE1
Id Location LocationNo
1 1 1
1 2 2
1 3 3
2 1 1
2 2 2
3 2 1
3 1 2
3 3 3
4 1 1
4 2 2
4 3 3
4 4 4
table2の
Location LocationNo
1 1
2 2
3 3
私はTABLE1からIDを取得したい:
表には、次のようになります。 返信はId 1になるはずです。
私は以下のクエリを試しましたが、結果が期待通りではありません。
SELECT t.Id
FROM table1 t1
WHERE EXISTS (SELECT 1
FROM table2 t2
WHERE t1.LocationId = t2.LocationId
AND t1.LocationNo = t2.LocationNo)
お勧めはありますか?ありがとう。
編集:私は、結果がNULLであることを期待して、このケースでは table2の
Location LocationNo
1 1
2 2
3 3
5 4
最初のcteはイドによってもぐってはいけませんか?
また、別名aはt1でなければなりません。
–
@CodrutMerlusca - そう逃した、 –
@ Y.Bを更新しました。あなたはこれを読んだか?戻り値はId 1でなければならないと期待しています。*あなたのクエリはID「1」のみ返されるかどうか –