ポスグレDBで以下のような二つのテーブルがあって
レコード数、カラム等の構造も同じだったとして
カラム1の値が二つのテーブルで同じであり
カラム2~4のうちどれか一つでも違うレコードを抽出するSQLがわかりません。
下記の例で言うと抽出結果がスキーマA.テーブルAの「←」のレコードを抽出したいです。
スキーマA.テーブルA
カラム1|カラム2|カラム3|カラム4|
---------------------------
A |aaaaaaa|bbbbbb|ccccccc
---------------------------
B |aaaaaaa|bbbbbb|ccccccc ←
---------------------------
C |aaaaaaa|bbbbbb|ccccccc ←
---------------------------
D |aaaaaaa|bbbbbb|ccccccc ←
---------------------------
E |aaaaaaa|bbbbbb|ccccccc
スキーマB.テーブルB
カラム1|カラム2|カラム3|カラム4|
---------------------------
A |aaaaaaa|bbbbbb|ccccccc
---------------------------
B |1111111|bbbbbb|ccccccc
---------------------------
C |aaaaaaa|777777|ccccccc
---------------------------
D |2222222|bbbbbb|8888888
---------------------------
E |aaaaaaa|bbbbbb|ccccccc
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
SELECT *
FROM スキーマA.テーブルA a, スキーマB.テーブルB b
WHERE a.カラム1 = b.カラム1
AND (a.カラム2 <> b.カラム2 OR a.カラム3 <> b.カラム3 OR a.カラム4 <> b.カラム4)
こんな感じでいかがでしょうか。
No.2
- 回答日時:
existsを使って、
select *
from スキーマA.テーブルA A
where exists (
select *
from スキーマB.テーブルB B
where A.カラム1 = B.カラム1
and (A.カラム2 <> B.カラム2 or A.カラム3 <> B.カラム3 or A.カラム4 <> B.カラム4)
);
でもいいと思います。
yamada_gさんの教えてくださった方法でも結果が得られたのですが時間差ということで今回はNo1の回答をベストアンサーにさせていただきました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Latexに関する質問です。 3 2023/05/23 10:18
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- MySQL sqlにおけるテーブル名と各カラム名って 具体的に何ですか? 私は良くphpmyadminを使います 3 2023/05/18 14:10
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle SQLの書き方について 1 2023/04/13 09:54
- Oracle SQL update方法 2 2022/06/22 14:07
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- Oracle 参照関係のフィールドについて 1 2023/05/27 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[PostgreSQL]別DBのテーブルのS...
-
PostgreSQLで外部DB内のテーブ...
-
【PostgreSQL】行の値の並びを...
-
エクセル
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
2つのテーブルから条件に一致...
-
ビューで引数を使いたい
-
PhpMyAdminで作成して実行せよ...
-
ACCESS 一番最新の日付の金額...
-
アクセスのテーブルからエクス...
-
Accessのリンクテーブルについて
-
accessテーブル作成クエリを実...
-
Accessにインポートしたら並び...
-
SQLServer + PHP で直近に追加...
-
重複するキーから一番古い年月...
-
SELECT時の行ロックの必要性に...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
mysql IN句に1データだけ指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLで外部DB内のテーブ...
-
SQLServerでテーブルの列数を求...
-
【PostgreSQL】行の値の並びを...
-
主キーの取得
-
SQLManagementStudioのフィルタ
-
[PostgreSQL]別DBのテーブルのS...
-
SQLサーバーとMySQLの大きな違...
-
システムテーブルについての疑問
-
照合順序の変更について
-
「マスタ」と「テーブル」の違...
-
[ BETWEEN ] vs [ >= AND <= ]
-
2つのテーブルから条件に一致...
-
ACCESSのSQLで、NULLかNULLでな...
-
オラクルではできるのにSQLSERV...
-
SELECT時の行ロックの必要性に...
-
3つ以上のテーブルをUNIONする...
-
SELECT文でのデッドロックに対...
-
2つの項目が重複するレコード...
-
Access VBA [リモートサーバー...
-
数百万件レコードのdelete
おすすめ情報