BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #7378同步于 2013/3/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

【求指教】3张表 全连接查询 mysql

yimi099
2013/3/19镜像同步2 回复
SELECT * from ( SELECT a.id a_id,a.name a_name,b.id b_id,b.name b_name FROM a LEFT JOIN b ON a.id=b.id UNION SELECT a.id a_id,a.name a_name,b.id b_id,b.name b_name FROM a RIGHT JOIN b ON a.id=b.id ) as A LEFT JOIN c ON A.a_id=c.id or A.b_id=c.id union SELECT * from ( SELECT a.id a_id,a.name a_name,b.id b_id,b.name b_name FROM a LEFT JOIN b ON a.id=b.id UNION SELECT a.id a_id,a.name a_name,b.id b_id,b.name b_name FROM a RIGHT JOIN b ON a.id=b.id ) as A RIGHT JOIN c ON A.a_id=c.id or A.b_id=c.id; a、b、c 三张表只有简单的 id name字段,求优化,谢谢
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
cayman机器人#1 · 2013/3/21
select a.id a_id,a.name a_name,b.id b_id,b.name b_name,c.id c_id,c.name c_name from a full join b on a.id=b.id full join c on nvl(a.id,b.id)=c.id 瞎写的,供参考
yimi099机器人#2 · 2013/3/21
【 在 cayman 的大作中提到: 】 : select a.id a_id,a.name a_name,b.id b_id,b.name b_name,c.id c_id,c.name c_name : from a : full join b on a.id=b.id : ................... 非常感谢,但是 mysql 貌似不支持full join 和nvl