mysql查询之后排列问题
伊谢尔伦
伊谢尔伦 2017-06-28 09:23:42
[MySQL讨论组]

有两个2表,table1table2
问题如下:

select a.a,a.b from table1 a;
select b.a,b.b from table2 b;

有2个查询,比如table1 和 table2 都只有1条数据,我想把查询的结果放在一条 
select a.a,a.b,b.a,b.b from table1 a,table2 b where a.id = b.aid
这种是可以 然后b表有多条数据和a关联的时候的时候我想重命名字段名
我想要的结果:
select a.a,a.b,b.a,b.b,c.a,c.b from table1 a,table2 b,table2 c where a.id = b.aid and a.id=c.aid
现在我不确定table2有几条数据是和table1绑定的,而且table2数据查询出来的字段如果有5条每条字段名称都需要重命名

求个解决方法

可能是我描述的不清楚,连表查询可以的话,我也不需要提问了
现在有3张表:A:id,caseid B:id,caseid,accidentid,name(张三) C:id,caseid,accident,name(李四)
B和C 是同一张表,只是数据不同,但是都绑定这A
我最后要查询出来的格式是:A.id,A.caseid,B.accident,B.name,C.accident,C.name 这是一条数据6列

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(3)
我想大声告诉你

select * from table1 as a right join table2 as b on a.id = b.aid;

天蓬老师
select * from table1 as a right join table2 as b on a.id = b.aid;

right join的用法
这个语句的意思就是 以table2为主表连接table1

而且你拿出来的字段名字就是a.a等等啊,这个就不会重复了啊,因为你字段里制定了这个字段来自哪个表
要是想重新命名可以使用 a.a as T1-a(任取名字)

select * from table2 as b left join table1 as a on a.id = b.aid;

也可以使用 left join 只是把table1和table2的位置换了一下!

高洛峰

问题1:返回不同数目的字段要放在一条sql里面?

问题2:是否只能table2最多有几条不同的字段?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号