我希望有一个SELECT作为返回字段列表的一部分,还包括来自另一个表的多个值的csv。
我有代码正在从这里确定CSV: SQL Server 2008 Rows to 1 CSV field
但是我无法使用csv值获得有效的JOIN,或者获取派生的csv值的id字段。
我的两张表是:
job (id,title,location)
skills(id, jobID, skillName, listOrder)
我想从作业中选择*,每个作业记录都有自己的衍生技能
基本上结果应该是: 1,dba,texas,[sql,xml,rdp]< - jobid = 1的技能
答案 0 :(得分:1)
这似乎可以做到,你在找什么:
SELECT
J.id
, J.title
, J.location
, '[' + STUFF ((SELECT ',' + S.skillName
FROM Skills S
WHERE
J.id = S.jobID
ORDER BY S.listOrder
FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)')
, 1, 1, '') + ']' skillSet
FROM Job J
GROUP BY J.id, J.title, J.location
;
查看实际操作:SQL Fiddle
如果需要调整/进一步详细说明,请发表评论。