作者Lavchi (拉维奇)
看板Database
标题[SQL ] MySQL 三个表格合并
时间Wed May 22 00:23:18 2013
手中有三个表格,分别叫 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)