前言:
SQL背景:兩張表矛渴,一張表里有 id, tname, age(id主鍵)
另一張表里有 id, address
(id非主鍵搓逾,可重復旁钧,但是與上張表里的ID為同一條記錄所產(chǎn)生的ID,故师枣,此表中的id在上張表中必須存在)
兩張表里的id為相同怪瓶,同一條記錄產(chǎn)生。
目的:合并為一條記錄展示践美,id洗贰,tname, age, address, address, address........
有多少個與此id有關的address就拼成多少個
例如:1,張三陨倡,18敛滋,北京,上海兴革,廣州.........
0x001:
未解決之前:
SELECT a.id,a.tname,a.age,b.address from testzzy a,testzzz b WHERE a.id = b.id
效果圖:
0x002:
解決之后:
SELECT a.id, a.tname, a.age,
(SELECT GROUP_CONCAT(b.address) FROM testzzz b WHERE a.id = b.id) address
from testzzy a
效果圖:
0x003:
GROUP_CONCAT (? 參數(shù)...? )? 查處后的多個 ?數(shù)據(jù)項 ?默認是以 逗號 分隔绎晃,可以更改。
GROUP_CONCAT(b.address? separator ";") 此句意思是查出來的 ?數(shù)據(jù)項 以 分號 間隔杂曲。
如圖:
GROUP_CONCAT()函數(shù)庶艾,還有其余參數(shù),自行查詢擎勘,這里不再做詳解咱揍。
0x004:
完結(jié)