首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么把重复的行合并

2012-01-26 
如何把重复的行合并?如何把重复的行合并?有表TAB如下IDDESC1A2B1C合并后得到如下结果IDDESC1A,C2B依此类推

如何把重复的行合并?
如何把重复的行合并?
有表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

热点排行