首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL帮助~关系数据库模型~显示结果

问SQL帮助~关系数据库模型~显示结果
EN

Stack Overflow用户
提问于 2012-02-28 01:17:37
回答 2查看 89关注 0票数 3

目前我有一个数据库,大约有10个表。我已经成功地使用内部连接将它们连接在一起,并显示了结果。

但是,我遇到了一个列可能有多个值的问题。

例如,我的数据库中加载了以下内容:

代码语言:javascript
复制
item    id
item1 | 1
item2 | 1
item2 | 2
item2 | 3

我是这样加入的:

代码语言:javascript
复制
SELECT Main.item, thing.id FROM Main INNER JOIN thing ON Main.MainID = thing.id

我想为item2将'id‘的三个实例连接在一起,而不是在我的结果页面上显示三次'item2’。‘id’之间的分隔符可能是'&',结果是:

代码语言:javascript
复制
"item1" "1"
"item2" "1 & 2 & 3"

我很确定我的问题出在我没有充分使用SQL,但我也在使用Javascript、PHP和HTML来显示结果,所以如果您认为这可能是问题所在,请让我知道。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-28 01:23:10

只需按您的项目分组,并使用GROUP_CONCAT作为您的ids的聚合:

代码语言:javascript
复制
SELECT items.item, GROUP_CONCAT(ids.id SEPARATOR ' & ')
FROM items
JOIN ids ON items.id=ids.id
GROUP BY items.item

请参阅MySQL GROUP_CONCAT function for more information.

票数 2
EN

Stack Overflow用户

发布于 2012-02-28 01:24:10

如果您使用的是MySQL,则可以创建组(GROUP BY),然后可以使用GROUP_CONCAT MySQL函数。

MSSQL "GROUP_CONCAT"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9469214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档