尝试这样的事情(适用于SQL Server 2005及更高版本):
set nocount on;declare @t table (id int, name varchar(20), x char(1))insert into @t (id, name, x)select 1,'test1', 'a' unionselect 1,'test1', 'b' unionselect 1,'test1', 'c' unionselect 2,'test2', 'a' unionselect 2,'test2', 'c' unionselect 3,'test3', 'b' unionselect 3,'test3', 'c' SET NOCOUNT OFFSELECT p1.id, p1.name, stuff( (SELECT ', ' + x FROM @t p2 WHERe p2.id=p1.id ORDER BY name, x FOR XML PATH('') ) ,1,2, '' ) AS p3 FROM @t p1 GROUP BY id, name
输出:
id name p3----------- -------------------- ---------1test1 a, b, c2test2 a, c3test3 b, c(3 row(s) affected)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)