--1.创建一个合并的函数
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+面积 from 表A where 编号=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go--调用自定义函数得到结果
select distinct 编号,dbo.fmerg(编号) from 表A
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+面积 from 表A where 编号=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go--调用自定义函数得到结果
select distinct 编号,dbo.fmerg(编号) from 表A
[交流]行列转换
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(面积) from 你的表 where 编号=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select 编号,dbo.getstr(编号) 面积 from 你的表 group by 编号
insert test values(1 ,'a')
insert test values( 1 ,'b')
insert test values( 2 ,'c')
insert test values( 2 ,'d')
insert test values( 3 ,'e')
gocreate function getstr(@content int)
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(面积) from test where 编号=@content
set @str=right(@str,len(@str)-1)
return @str
end
go--语句:
select 编号,dbo.getstr(编号) 面积 from test group by 编号/*结果:编号 面积
----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 a,b
2 c,d
3 e(所影响的行数为 3 行)*/