勤学如春起之苗不见其增日有所长,辍学如磨刀之石不见其损日有所亏
CREATE TABLE TempTable
(
    [TestCode] NVARCHAR(1000)
)
Insert TempTable values('a')
Insert TempTable values('b')
Insert TempTable values('c')
Insert TempTable values('d')

select stuff((SELECT ','+a.TestCode 
FROM(              
       SELECT * FROM TempTable
    ) a FOR xml path('')),1,1,'') 

例如多行数据:

a

b

c

d

变成多行:a,b,c,d

 

升级语法,合并分组后,多行变一列:

CREATE TABLE TempTable
(
    [TestCode] NVARCHAR(1000),
    [Name] NVARCHAR(1000)
)
Insert TempTable values('a','zhang')
Insert TempTable values('b','wang')
Insert TempTable values('c','li')
Insert TempTable values('a','zhao')

select * from TempTable

select [TestCode] as [TestCode], 
    LevelItem = (
        stuff((
            select ',' + Name from TempTable
            where [TestCode] = a.[TestCode] for xml path('')),1,1,'')
    )    
from TempTable a 
group by [TestCode]

 

 

 

posted on 2019-01-03 15:41  TheClound  阅读(853)  评论(0)    收藏  举报