SQLで、下記selectを行いたいです。
テーブルA
テーブルB
テーブルC
これら三つのテーブルには、同一のコードが振られています。
この三つのテーブルのひとつにでも、抜けているコードを抜き出したいです。
(テーブルAのコード=テーブルBのコード=テーブルCのコードになっていないコード)
例)
テーブルAに入ってるコード(1.3.5)
テーブルBに入っているコード(1.4.5)
テーブルCに入っているコード(1.5.6)
このとき、三つのテーブルにきちんと入っているコードは、1と5だけなので、それ以外のコードを抜き出す→3.4.6
これをSQLで行う場合、簡単なSQL文はありますでしょうか?
今、考えているのは、各テーブルすべてをinner joinしたviewを作成し(これにより三つとも入ってるコードの一覧ができる)、
そのviewと、テーブルA、テーブルB、テーブルCそれぞれをひとつづつleft joinして、不一致データを取り出す方法です。
でも、そうすると、viewを作成しなくてはいけず、また、SQLをテーブルの数分(今回は3回)投げなくてはいけなくて。。
もっと、単純にかけないものでしょうか?
ご存知の方、教えてください。
No.1ベストアンサー
- 回答日時:
RDBMSは、SQL Serverなのですね?
2000ですか?2005ですか?
バージョンにより、せっかく具体的なSQLを提示しても、質問者さんの環境では動かせない場合があります。
以下のSQLを試してみてください。2005なら動くと思います。
2000なら、インラインビュー(「select ~ from (select ~ from ~)」という記述)が、使えないかも知れません。
select *
from(select c1 from A
union
select c1 from B
union
select c1 from C) as x
where not exists
(select * from A,B,C
where A.c1=B.c1 and B.c1=C.c1
and x.c1=A.c1)
ありがとうございます。
早速試してみました。
きちんと値が返ってきました!
あとは、負荷状況とかを確認して、つかえそうでしたら、使わせていただきます。
早速ご回答いただき、本当にありがとうございました。
P.S ちなみに、2005です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) アクセスで教えてください。 例えばテーブル1に 1 佐藤 2 鈴木 3 佐々木 コードと住所一覧があ 3 2022/06/11 20:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
sqlのupdate文で質問です。 テ...
-
VIEWでテーブルの集計結果...
-
ACCESS ピボットテーブ...
-
Microsoft Access 2010の初心者...
-
アクセス2000のフォームに...
-
PLSQLで集計関数の値を配列に入...
-
副問い合わせでのNULLの抽出方法
-
SQL文(基礎内容)
-
Accessでフィールドを比較した...
-
accessでの2つの表を使った更...
-
ACCESSのコンパイルエラーについて
-
ACCESS2000でDCount関数の使い方
-
【Excel】月々のデータを年間通...
-
片方だけ抽出する方法(SQL)
-
access2013で条件入力→抽出
-
商品コード番号を入力すると商...
-
連番のMin, Maxを取得したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
商品コード番号を入力すると商...
-
行方向のデータを横に並べる
-
PLSQLの識別子エラー
-
Inner join と Left joinの明...
-
SQL 2つのテーブルとSUBSTRING...
-
Accessユニオンクエリーで2つ...
-
片方だけ抽出する方法(SQL)
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL文について(片方のテーブル...
-
続.ORACLEのSELECTのソートに...
-
場合によって条件を変えるSQL
-
請求と入金のテーブルの作成の...
-
sqlのupdate文で質問です。 テ...
-
[Oracle] UPDATE分の副問い合わ...
-
accessで移動平均する方法
おすすめ情報