MYSQL三張表查詢

2022-07-18 12:17:21 字數 1196 閱讀 4883

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 乙 ...