求sql语句。该怎么处理
求sql语句。。
表:公司表,岗位表(一个公司对应多个岗位)
公司表包括:公司ID,公司名称
岗位表包括:岗位ID,岗位名称,公司ID
现在需要这样的结果:(不使用游标,直接一句SQL)
公司名称 部分岗位(比如5个)
公司A 岗位1,岗位2,岗位3,岗位4,岗位5
公司B 岗位6,岗位7,岗位8,岗位9,岗位10
公司C 岗位11,岗位12,岗位13,岗位14,岗位15
------解决方案--------------------
------解决方案--------------------
表:公司表,岗位表(一个公司对应多个岗位)
公司表包括:公司ID,公司名称
岗位表包括:岗位ID,岗位名称,公司ID
现在需要这样的结果:(不使用游标,直接一句SQL)
公司名称 部分岗位(比如5个)
公司A 岗位1,岗位2,岗位3,岗位4,岗位5
公司B 岗位6,岗位7,岗位8,岗位9,岗位10
公司C 岗位11,岗位12,岗位13,岗位14,岗位15
------解决方案--------------------
with test as(
select b.公司名称,a.岗位名称
from 岗位表 a
inner join 公司表 b
on a.公司ID=b.公司ID
)
SELECT 公司名称,STUFF((SELECT',' + 岗位名称 FROM test a WHERE 公司名称 = a.公司名称 FOR XML PATH('')),1, 1, '') AS 部分岗位
FROM test
GROUP BY 公司名称
------解决方案--------------------
SELECT A.[公司名]
,STUFF((SELECT ','+B.[岗位名]
FROM 岗位 AS B
WHERE A.公司ID=B.公司ID
FOR XML PATH('')),1,1,'')
FROM 公司 AS A