【发布时间】:2014-04-01 13:56:01
【问题描述】:
我有一个公司、行业和 company_industry_map 多对多表。
company_id | company_name
1 Goldman Sachs
2 Microsoft
industry_id | industry
4 Technology
5 Finance
6 Banking
company_id | industry_id
1 5
1 6
2 4
我想编写一个查询,将所有行业连接成一个逗号分隔的列表,如下所示:
company_id | industries
1 Finance, Banking
2 Technology
这是我正在尝试编写的一般查询:
SELECT company_id,
xxx AS industries
FROM company c,
company_industry_map m
WHERE c.company_id = m.company_id
【问题讨论】:
-
您使用的是什么数据库? SQL 服务器、MySQL 等
-
具体用STUFF命令看答案(Rick S评论)得分最高的
-
请停止使用隐式连接的 sql 反模式。它们是一种非常糟糕的技术,使得维护系统变得更加困难,并导致更危险的代码可能包含错误,例如显式语法不允许的意外交叉连接。
标签: sql sql-server join