搜尋

首頁  >  問答  >  主體

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列

伊谢尔伦伊谢尔伦2801 天前812

全部回覆(3)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-06-28 09:25:42

    select * from table1 作為右連接 table2 as b on a.id = b.aid;

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-28 09:25:42

    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的位置換了一下!

    回覆
    0
  • 高洛峰

    高洛峰2017-06-28 09:25:42

    問題1:傳回不同數目的欄位要放在一條sql裡面?

    問題2:是否只能table2最多有幾個不同的字段?

    回覆
    0
  • 取消回覆