首页 > 解决方案 > 根据类型结果连接列值

问题描述

  声明@name nvarchar(max),@Id int
  SELECT @Id=[EmpType],@name =ISNULL(@name + ',','')+[UserName] FROM [dbo].[TestTable]
  按 [EmpType] 分组
  选择 @Id,@name

使用此代码出错,我如何获得结果员工类型明智的连接用户名

期待结果集

标签: sqlsql-servertsql

解决方案


您可以在下面尝试使用STUFF()功能

SELECT [EmpType],  abc = STUFF(
             (SELECT ',' + [UserName]
              FROM [dbo].TestTable] t1
              WHERE t1.[EmpType] = t2.[EmpType]
              FOR XML PATH (''))
             , 1, 1, '') from [dbo].TestTable] t2
group by [EmpType];

推荐阅读