目前我有一个数据库,大约有10个表。我已经成功地使用内部连接将它们连接在一起,并显示了结果。
但是,我遇到了一个列可能有多个值的问题。
例如,我的数据库中加载了以下内容:
item id
item1 | 1
item2 | 1
item2 | 2
item2 | 3我是这样加入的:
SELECT Main.item, thing.id FROM Main INNER JOIN thing ON Main.MainID = thing.id我想为item2将'id‘的三个实例连接在一起,而不是在我的结果页面上显示三次'item2’。‘id’之间的分隔符可能是'&',结果是:
"item1" "1"
"item2" "1 & 2 & 3"我很确定我的问题出在我没有充分使用SQL,但我也在使用Javascript、PHP和HTML来显示结果,所以如果您认为这可能是问题所在,请让我知道。
谢谢
发布于 2012-02-28 01:23:10
只需按您的项目分组,并使用GROUP_CONCAT作为您的ids的聚合:
SELECT items.item, GROUP_CONCAT(ids.id SEPARATOR ' & ')
FROM items
JOIN ids ON items.id=ids.id
GROUP BY items.item发布于 2012-02-28 01:24:10
如果您使用的是MySQL,则可以创建组(GROUP BY),然后可以使用GROUP_CONCAT MySQL函数。
https://stackoverflow.com/questions/9469214
复制相似问题