私は2つのテーブルを持っています:
Table1
id | col1 | col2 | other_id
---------------------------
1 | val1 | val2 | 2
2 | val3 | val4 | 3
Table2
id | col3 | other_id
--------------------
1 | val5 | 4
この 2 つのテーブルを次のように結合します。
id | col1 | col2 | col3 | other_id
-----------------------------------
1 | val1 | val2 | NULL | 2
2 | val3 | val4 | NULL | 3
1 | NULL | NULL | val5 | 4
この SQL クエリを作成します。
(
SELECT * FROM table1 AS M LEFT JOIN table2 AS D ON M.other_id = D.other_id
)
UNION
(
SELECT * FROM table1 AS M RIGHT JOIN table2 AS D ON M.other_id = D.other_id
)
結果:
id | col1 | col2 | other_id | id | col3 | other_id
------------------------------------------------------
1 | val1 | val2 | 2 | NULL | NULL | NULL
2 | val3 | val4 | 3 | NULL | NULL | NULL
NULL | NULL | NULL | NULL | 1 | val5 | 4
しかし、同じラベルの列が複数あります。エイリアスを使用したくありません。同じ名前の列を結合するだけです。