get a comma delimited string from rows
本问题已经有最佳答案,请猛点这里访问。
在MS SQL Server中,用逗号分隔的字符串(如下所示)连接行的查询是什么?
使用
创建和填充示例表(请在以后的问题中保存此步骤)
1 2 3 4 5 6 7 8 9 10 11 | DECLARE @T AS TABLE ( Name VARCHAR(10) ) INSERT INTO @T VALUES ('John'), ('Vicky'), ('Sham'), ('Anjli'), ('Manish') |
查询:
1 2 3 4 5 | SELECT STUFF(( SELECT ',' + Name FROM @T FOR XML PATH('') ), 1, 1, '') AS [output]; |
结果:
1 2 | output John,Vicky,Sham,Anjli,Manish |
假设您的列名是
1 2 3 4 5 6 7 8 9 10 11 12 | DECLARE @strTemp VARCHAR(MAX) SET @strTemp = '' SELECT @strTemp = @strTemp + ISNULL(NAME,'') + ',' FROM MYTABLE --Remove last comma SET @strTemp = SUBSTRING(@strTemp ,1,LEN(@strTemp ) -1) --Get Result SELECT @strTemp |
可以使用以下方法筛选空记录
1 2 3 | SELECT @strTemp = @strTemp + NAME + ',' FROM MYTABLE WHERE NAME IS NOT NULL |