--1.创建一个合并的函数
create function fmerg(@id varchar(10))
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 varchar(10))
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 f_str(@单位 varchar(10))
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+描述 from 表 where 单位=@单位
return(stuff(@r,1,1,''))
end
go--调用实现查询
select 单位,描述=dbo.f_str(单位) from 表 group by 单位
create table 表(单位 varchar(10),描述 varchar(10))
insert 表 select '单位1','aaaa'
union all select '单位1','bbbb'
union all select '单位1','cccc'
union all select '单位2','dddd'
union all select '单位2','eeee'
union all select '单位2','ffff'
go--创建处理函数
create function f_str(@单位 varchar(10))
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+描述 from 表 where 单位=@单位
return(stuff(@r,1,1,''))
end
go--调用实现查询
select 单位,描述=dbo.f_str(单位) from 表 group by 单位
go--删除测试
drop table 表
drop function f_str/*--测试结果单位 描述
---------- ---------------------
单位1 aaaa,bbbb,cccc
单位2 dddd,eeee,ffff(所影响的行数为 2 行)--*/
--创建合并函数
--根据字段@a合并
create function f_str(@a varchar(10))
returns varchar(8000)
as
begin
declare @ varchar(8000)
set @=''
select @=@+b from 表 where a=@a
return(@)
end
go