mysqlにて2つのテーブルがあり、マスターテーブルとチェック用テーブルです。
カラムは同じです。
チェック用テーブルのidにてマスタテーブルを比較して、1つでも違いがあれば抽出したいのですが
どのようなsql文になりますでしょうか?
例)
mst_tbl
| id | col1 | col2 | col3 |
|---|---|---|---|
| 1 | a1 | a2 | a3 |
| 2 | b1 | b2 | b3 |
| 3 | c1 | c2 | c3 |
| 5 | f1 | f2 | f3 |
ck_tbl
| id | col1 | col2 | col3 |
|---|---|---|---|
| 1 | a1 | a2 | a3 |
| 2 | b1 | b3 | |
| 3 | c1 | c2 | c4 |
| 4 | e1 | e2 | e3 |
結果
| tbl | id | col1 | col2 | col3 |
|---|---|---|---|---|
| mst_tbl | 2 | b1 | b2 | b3 |
| ck_tbl | 2 | b1 | b3 | |
| mst_tbl | 3 | c1 | c2 | c3 |
| ck_tbl | 3 | c1 | c2 | c4 |
| mst_tbl | ||||
| ck_tbl | 4 | e1 | e2 | e3 |
または
|tbla|ida|col1a|col2a|col3a|tblb|idb|col1b|col2b|col3b|
|:--|:--:|--:|--:|--:|
|mst|2|b1|b2|b3|ck|2|b1||b3|
|mst|3|c1|c2|c3|ck|3|c1|c2|c4|
|mst|||||ck|4|e1|e2|e3|
*id1は全て同じ値の為抽出しない。
*id2はcol2が違う為抽出
*id3はcol3が違う為抽出
*id4はマスタテーブルに無い為抽出
*id5はもともとチェック用テーブルのidに無い為チェックしない。
ご教授よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
2019/09/27 03:14