MySQL: FULL OUTER JOIN - 1つの列を結合するにはどうすればいいですか? 質問する

MySQL: FULL OUTER JOIN - 1つの列を結合するにはどうすればいいですか? 質問する

MySQL の FULL OUTER JOIN に関して質問があります。2 つ (またはそれ以上) のテーブルがあります:

テーブル1 テーブル2
id 値 id 値2
1 a 1 b
2 週 3 日
3 e 4 f

結合を取得するために次のクエリを使用しました:

SELECT * 
FROM table1
LEFT OUTER JOIN table2
ON table1.`id`=table2.`id`
UNION
SELECT * 
FROM table1
RIGHT OUTER JOIN table2
ON table1.`id`=table2.`id`

取得するため:

id 値1 id 値2
1 a 1 b
2 c NULL NULL
3月3日
NULL NULL 4 f

私の問題は、次の結果を得るために 2 つの id 列を同時に 1 つの列に折りたたむことができないことです。

id 値1 値2
1 腹筋
2 c NULL
3 版
4 NULL f

どのようにすればよいか、何かアドバイスはありますか?

ベストアンサー1

SELECT 
COALESCE(t1.id, t2.id) as id,
t1.value1,
t2.value2
FROM table1 t1
FULL JOIN table2 t2 ON t1.id = t2.id;

おすすめ記事