mysql查询之后排列问题
问题描述
有两个2表,table1 和 table2问题如下:
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列
问题解答
回答1:select * from table1 as a right join table2 as b on a.id = b.aid;
回答2: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的位置换了一下!
回答3:问题1:返回不同数目的字段要放在一条sql里面?
问题2:是否只能table2最多有几条不同的字段?
相关文章:
1. javascript - react能够使用什么时间插件2. docker api 开发的端口怎么获取?3. node.js - 我是一个做前端的,求教如何学习vue,node等js引擎?4. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?5. PHP中的$this代表当前的类还是方法?6. 如何解决docker宿主机无法访问容器中的服务?7. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~8. java - 为什么第一个线程已经释放了锁,第二个线程却不行?9. 老师,flex-shrink: 1; 按视频操作,不会自动缩放10. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分

网公网安备