求一存储过程:横表转竖表 ----?
西 一区1号-102 0714061 陈亮
西 一区1号-102 0714061 崔红伟
西 一区1号-102 0714061 刘伟
西 一区1号-102 0714061 刘大伟
西 一区A号114 0613032 张苹
东 一区A号128 0612061 轻灵
有表结构如上 现实现结果如下:
西 一区1号-102 0714061 陈亮 0714061 崔红伟 0714061 刘伟 0714061 刘大伟
西 一区A号114 0613032 张苹
东 一区A号128 0612061 轻灵
该如何实现?谢谢!
------解决方案--------------------create table tb_test(a varchar(20),b varchar(20),c varchar(20))
insert tb_test select '西 一区1号-102 ', '0714061 ', '陈亮 '
union all select '西 一区1号-102 ', '0714061 ', '崔红伟 '
union all select '西 一区1号-102 ', '0714061 ', '刘伟 '
union all select '西 一区1号-102 ', '0714061 ', '刘大伟 '
union all select '西 一区A号114 ', '0613032 ', '张苹 '
union all select '东 一区A号128 ', '0612061 ', '轻灵 '
go
create function fun_test(@a varchar(20))
returns varchar(1000)
as
begin
declare @b varchar(1000)
select @b=isnull(@b+ ' ', ' ')+b+ ' '+c from tb_test where a=@a
return @b
end
go
select a,dbo.fun_test(a) from tb_test group by a