プロが教える店舗&オフィスのセキュリティ対策術

不一致クエリの作り方でつまづいています・・・

次の3つのテーブルがあります。

テーブル1
[列1][列2][列3]
1  A  あ   (一致なし)
1  B  い   (テーブル2に一致あり)
2  A  あ   (テーブル3に一致あり)
3  A  い   (一致なし)

テーブル2
[列1][列2][列3]
1  B  あ
1  B  い  

テーブル3
[列1][列2][列3]
2  A  あ  
3  A  あ

テーブル1から、
テーブル2の[列1][列2][列3]全てが一致するレコード
テーブル3の[列1][列2][列3]全てが一致するレコード
これらを除いたクエリを作りたいです。
(上記の例の場合、結果を以下のようにしたいです。)

クエリ1
[列1][列2][列3]
1  A  あ  
2  A  い  

できればクエリひとつで解決したいのですが、
不一致クエリウィザードでは1つのテーブル・一つのフィールドしか参照できず、思うように実現できません。

・二つ以上のテーブルを参照する不一致クエリのつくりかた
・二つ以上のフィールドを参照する不一致クエリのつくりかた

この二つを教えて下さい。
宜しくお願いします。

A 回答 (1件)

SELECT テーブル1.*


FROM (テーブル1
LEFT JOIN テーブル2
ON テーブル2.[列1] = テーブル1.[列1]
AND テーブル2.[列2] = テーブル1.[列2]
AND テーブル2.[列3] = テーブル1.[列3])
LEFT JOIN テーブル3
ON テーブル3.[列1] = テーブル1.[列1]
AND テーブル3.[列2] = テーブル1.[列2]
AND テーブル3.[列3] = テーブル1.[列3]
WHERE テーブル2.[列1] IS NULL
AND テーブル3.[列1] IS NULL

とか
    • good
    • 0
この回答へのお礼

意図したものが実現できました!
ありがとうございました。

お礼日時:2019/02/08 15:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A