[SQL ] MySQL 三個表格合併
手中有三個表格,分別叫 A, B, C
其中資料是
A: B: C:
NAME_ID Name AGE_ID AGE NAME_ID AGE_ID
N1 Air A2 20 N2 A2
N2 Daisy A3 30
想合併三個表格變成輸出:
NAME_ID NAME AGE_ID AGE
N1 Air NULL NULL
N2 Daisy A2 20
NULL NULL A3 30
請問 MySQL 的語法該怎麼寫
有辦法一行完成嗎?
用了一整晚的 LEFT JOIN, RIGHT JOIN 都無法實現
先謝謝知道的大大了
底下 是 ask 版 SKL 大大的解答,方法是可行的!
===== 底下原文 =====
我不是大大,隨手試試 ...
SELECT `A`.*, `B`.*
FROM `C`
RIGHT JOIN `A` ON `C`.`NAME_ID`=`A`.`NAME_ID`
LEFT JOIN `B` ON `C`.`AGE_ID`=`B`.`AGE_ID`
UNION
SELECT `A`.*, `B`.*
FROM `C`
RIGHT JOIN `A` ON `C`.`NAME_ID`=`A`.`NAME_ID`
RIGHT JOIN `B` ON `C`.`AGE_ID`=`B`.`AGE_ID`
不知道有沒有更漂亮的做法 @.@?
===== 以上原文 =====
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.219.62
※ Lavchi:轉錄至看板 ask 05/22 00:35
※ 編輯: Lavchi 來自: 220.132.36.79 (05/22 10:46)
※ 編輯: Lavchi 來自: 220.132.36.79 (05/22 10:47)
※ 編輯: Lavchi 來自: 220.132.36.79 (05/22 10:47)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):