1樓:
select aaa.id, replace(bbb.bcode, bbb.
bcode, 'a') aa, replace(ccc.ccode, ccc.ccode, 'b') bb, concat_ws( '', replace(bbb.
bcode, bbb.bcode, 'a'), replace(ccc.ccode, ccc.
ccode, 'b')) ab from a aaa left join b bbb on ( aaa.id = bbb.ida ) left join c ccc on ( aaa.
id = ccc.idb ) order by aaa.id asc
我專門建了跟你一模一樣的表,測試過了,出來的結果也跟你要的一模一樣。
你最想要的結果:
select aaa.id, concat_ws( '', replace(bbb.bcode, bbb.
bcode, 'a'), replace(ccc.ccode, ccc.ccode, 'b')) ab from a aaa left join b bbb on ( aaa.
id = bbb.ida ) left join c ccc on ( aaa.id = ccc.
idb ) order by aaa.id asc
2樓:匿名使用者
select a.id,concat(b.bcode,c.
ccode) from a left join b on (a.id=b.ida) left join c on (a.
id=c.idb) order by a.id;
如果三張表的id欄位名都叫id的話,join 後面可以用using (id)就可以了
select a.id,concat(b.bcode,c.
ccode) from a left join b on using (id) left join c on using (id) order by a.id;
---------------
抱歉,以上錯了,如果c表裡有的id,在b表裡沒有則不會被輸出。
目前最好的方法是建立臨時表,將a,b表整合後的結果輸入臨時表,然後在將臨時表和c表進行資料整合。
3樓:匿名使用者
你試試不用 語法構造,直接建立同型別(專案)關聯,然後再查詢。看看可不可行
MySQL兩張表查詢方法大家幫下忙啊
不知道你的兩個表是否是有關聯的,select from select mid,tim from tb1 where mid 9 union all select mid,tim from tb2 where mid 9 order by tim 你是要幹什麼呢?要把2個表關聯起來查詢?select ...
查詢MYSQL同資料庫2張表的不同字段值語句怎麼寫
select log.student.name from log left join student on log.id student.id and log.tim student.tim 這個是bai用的du左聯合 zhi的方 dao式 版也可以 權select log.student.name...
有9九張牌,甲 乙 丙各拿三張。甲說 「我的三張牌的積是48。」乙說 「我的三
2,3,8 4,5,6 1,7,9 先從丙開始分析,因為63只能是7 9,所以是1,7,9有不明白的可以追問!希望我的回答對你有用,望及時採納為滿意答案。一樓的解法對,但是答案應該是 甲 2,4,6 乙 3,5,8 丙 1,7,9 丙為1,7,9,乙為3,5,8 甲為2,4,6 甲 2 4 6 乙 ...