create function getstr(@单位名称 int)
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(收费类别) from 表 where 单位名称=@单位名称
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go--调用:
select 单位名称,dbo.getstr(单位名称) 收费类别 from 表 group by 单位名称
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(收费类别) from 表 where 单位名称=@单位名称
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go--调用:
select 单位名称,dbo.getstr(单位名称) 收费类别 from 表 group by 单位名称
create function getstr(@id int)
returns Nvarchar(4000)
as
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+rtrim(收费类别)+N',' from table
where 单位名称=@id
if @str<>N''
set @str=left(@str,len(@str)-1)
return @str
endGO2,
select 单位名称,dbo.getstr(单位名称) as 收费类别 from table group by 单位名称
--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