求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
------解决方案--------------------

 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