如何实现多行转一行
原始数据是这样的
field1 field2
1 a
1 b
1 d
2 c
2 a
我要获得这样的结果
field1 field2
1 a_b_d
2 c_a
在field2里面的顺序无所谓,不重复就可以了。
请各位大大帮忙。thx
------解决方案--------------------create function dbo.fn_Merge(@field varchar(1000))
returns varchar(8000)
as
begin
declare @name varchar(8000)
set @name= ' '
select @name=@name+ '_ '+field2 from test where field1=@field
return stuff(@name,1,1, ' ')
end
go
create table test(field1 int,field2 varchar(10))
insert test select 1, 'a '
union all select 1, 'b '
union all select 1, 'd '
union all select 2, 'c '
union all select 2, 'a '
select distinct field1,dbo.fn_Merge(field1) from test