【sql进阶】SQL Server 将某一列的值拼接成字符串

今天在统计报表的时候有这么一个需求,将一列字符串拼接成一行,然后展示到新的列中。

每一项的服务列表如下:

最终想要的结果是

sql如下:

select AuxTypeName + '' from 
(
SELECT DISTINCT(AuxTypeName) FROM _VIPHall_Link_AuxType
LEFT JOIN dbo.[_VIPHall] ON [_VIPHall_Link_AuxType].VIPHallID = [_VIPHall].VIPHallID
LEFT JOIN dbo._Dim_VIPHall_AuxType ON [_Dim_VIPHall_AuxType].AuxTypeID = [_VIPHall_Link_AuxType].AuxTypeID
WHERE [_VIPHall].VIPHallID = 157
) AS tmp
 for xml path('') 

 整理出来也就是

select( select CAST(字段 as varchar)+',' 
fromfor xml path('')  ) as A

搞定!

原文地址:https://www.cnblogs.com/jhli/p/6224910.html