sqlserver-把表中某一个列的数据按照逗号拼接成列表

  1. 存储过程
create PROCEDURE [dbo].Sp_StringsToTableExtend
    @ColumnId VARCHAR(MAX) ,
    @ColumnName VARCHAR(MAX) ,
    @TableName NVARCHAR(100)
AS
    BEGIN
        DECLARE @sql VARCHAR(500) 
        SET @Sql='SELECT  A.'+@ColumnId+' ,  B.StrColumn
FROM    (SELECT StrXml = CONVERT(XML, ''<root><v>''+REPLACE('+@ColumnName+', '','', ''</v><v>'')+''</v></root>'') ,     '+@ColumnId+'  ,   '+@ColumnName+'    FROM   '
            +@TableName+'   ) A OUTER APPLY (SELECT StrColumn = N.v.value(''.'', ''nvarchar(40)'')  FROM   A.StrXml.nodes(''/root/v'') N (v)   ) B '
        EXEC  (@Sql)
    END 
GO  

原先表格数据 表【ClassInfo】
sqlserver-把表中某一个列的数据按照逗号拼接成列表

2.执行存储过程
EXEC [Sp_StringsToTableExtend] ‘班级编码’,‘课程信息’,‘ClassInfo’
3.结果:
sqlserver-把表中某一个列的数据按照逗号拼接成列表

这个是很久以前研究的SQL语句,也不知道当时是在什么业务需求下整出来的~哈哈哈哈。

上一篇:IM2603应用于Type-C拓展坞外围集成Buck变换器的电源管理芯片


下一篇:MK9016F——0.6A,100V,1MHz降压DCDC