当前位置: 代码迷 >> Sql Server >> 怎么实现多行转一行
  详细解决方案

怎么实现多行转一行

热度:94   发布时间:2016-04-27 15:42:18.0
如何实现多行转一行
原始数据是这样的
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 @[email protected]+ '_ '+field2 from test where [email protected]
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
  相关解决方案