亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

交集表的連接語句

交集表的連接語句

PHP
桃花長相依 2023-03-11 16:44:41
我想將用戶連接到一輛或多輛汽車。表格如下所示:表_aid     name1      tom2      max表_bid     car1      car12      car23      car3表_abid     id_a     id_b1      1        12      1        23      2        1哪個是正確的 select 語句,結果如下:湯姆有汽車 1 和 2max 有 car1我不明白它與INNER JOIN.. 正確的說法是什么?
查看完整描述

4 回答

?
慕哥9229398

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 顯示了相同的結果,因此任一選項都適用。


查看完整回答
反對 回復 2023-03-11
?
慕森王

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;


查看完整回答
反對 回復 2023-03-11
?
aluckdog

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


查看完整回答
反對 回復 2023-03-11
?
LEATH

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? ? ? ? ? |


查看完整回答
反對 回復 2023-03-11
  • 4 回答
  • 0 關注
  • 221 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號