如何在主select语句中将第二个select语句结果转换为CSV String?
假设遵循SQL语句:
SELECT A1,A2, (SELECT aCol FROM Table2) as A3
FROM Table1
现在,我想将 SELECT aCol FROM Table2 的结果转换为显示在A3字段的CSV字符串。 如:
A1Value | A2Value | A3Value1, A3Value2, A3Value3
感谢。
更新:
答案 0 :(得分:3)
您知道没有相关性,您将为返回的每一行获得相同的逗号分隔列表吗?
使用GROUP_CONCAT
功能:
SELECT t.a1,
t.a2,
(SELECT GROUP_CONCAT(t2.acol)
FROM TABLE_2 t2) AS A3
FROM TABLE_1 t
使用:
SELECT t.a1,
t.a2,
STUFF(ISNULL(SELECT ', '+x.acol
FROM TABLE_2 x
GROUP BY x.acol
FOR XML PATH ('')),''),1,2,'')
FROM TABLE_1 t