4 回答

TA貢獻1877條經驗 獲得超6個贊
SELECT `name`,`car` FROM table_a a
INNER JOIN table_ab ab ON a.id = ab.id_a
INNER JOIN table_b b ON ab.id_b = b.id
PS:您也可以在沒有任何連接的情況下執行此操作,在某些情況下,它更快更干凈。
SELECT `name`,`car` FROM table_a a,table_b b, table_ab ab
WHERE a.id = ab.id_a AND ab.id_b = b.id
在本例中,DESCRIBE 顯示了相同的結果,因此任一選項都適用。

TA貢獻1777條經驗 獲得超3個贊
我想你想要joins 和聚合:
select a.name, group_concat(car) as cars
from ab join
a
on a.id = ab.id_a join
b
on b.id = ab.id_b
group by a.id, a.name;

TA貢獻1847條經驗 獲得超7個贊
你需要兩個加入
select a.name, b.car
from table_ab ab
inner join table_a a ON a.id = ab.id_a
inner join table_b b ON b.id = ab.id_b

TA貢獻1936條經驗 獲得超7個贊
您必須加入表,按名稱分組并group_concat()結合使用concat():
select concat(a.name, ' has ', group_concat(car separator ' and ')) col
from table_a a?
inner join table_ab ab on ab.id_a = a.id
inner join table_b b on ab.id_b = b.id
group by a.id, a.name
請參閱。
結果:
| col? ? ? ? ? ? ? ? ? ?|
| --------------------- |
| tom has car1 and car2 |
| max has car1? ? ? ? ? |
- 4 回答
- 0 關注
- 221 瀏覽
添加回答
舉報