例如,我有两张表,一张是地名,一张是电话号码。但是每个地方可以有多个电话号码。
当我尝试下面的代码时,它复制了这个地方,我得到:
位置 1 - 第一个电话号码
位置 1 - 第二个电话号码
而且我要:
位置 1 - 第一个电话号码,第二个电话号码
因此,我需要将“数字”列作为一个数组,其中每个数字都与该地点相关联。如您所见,我对 SQL 不太擅长,非常感谢。
表 1 - 地点:
| id | name | address . |
|:-----------|------------:|:------------:|
| 1 | Example| Example |
| 2 | Example| Example |
表 2 - 电话:
| id | fgk_place | number |
|:-----------|------------:|:------------:|
| 1 | 1 | 9999999 |
| 2 | 1 | 8888888 |
我正在尝试做的事情:
SELECT places.id, name, phones.number
FROM places
LEFT JOIN phones ON phones.fgk_place = places.id
我得到了什么:
1, Example, 9999999
1, Example, 8888888
我需要的:
1, Example, [9999999, 8888888]
非常感谢你
用 group_concat
SELECT places.id, name, GROUP_CONCAT(phones.number)
FROM places
LEFT JOIN phones ON phones.fgk_place = places.id
GROUP BY places.id, name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句