读书人

怎么把重复的行合并

发布时间: 2012-01-26 19:40:46 作者: rapoo

如何把重复的行合并?
如何把重复的行合并?
有表TAB如下

IDDESC
1A
2B
1C

合并后得到如下结果

IDDESC
1A,C
2B

依此类推,有多个重复的则以‘,’分隔


[解决办法]
create table test(ID int,[DESC] varchar(10))
insert test select 1, 'A '
union all select 2, 'B '
union all select 1, 'C '

create function dbo.fn_Merge(@ID int)
returns varchar(8000)
as
begin
declare @name varchar(8000)
set @name= ' '
select @name=@name+ ', '+[DESC] from test where ID=@ID
return stuff(@name,1,1, ' ')
end
go

select ID, dbo.fn_Merge(ID) as ID from test group by ID

drop table test
drop function fn_Merge

ID ID
----------- ----
1 A,C
2 B

读书人网 >SQL Server

热点推荐