create function get_n (@i varchar(10))
returns varchar(8000)
as
begin
declare @str varchar(8000)
select @str =''
select @str =@str+部门 from 有一个表 where 代号=@i
return @str
end--调用:
select *,dbo.get_n(代号) 备注 from 有一个表
returns varchar(8000)
as
begin
declare @str varchar(8000)
select @str =''
select @str =@str+部门 from 有一个表 where 代号=@i
return @str
end--调用:
select *,dbo.get_n(代号) 备注 from 有一个表
--创建一个合并的函数
create function f_merg(@代号 varchar(20))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+部门 from 表 where 代号=@代号 order by 数量 desc
return(@re)
end
go--添加备注列,调用此函数进行更新
alter table 表 add 备注 varchar(8000)
update 表 set 备注=dbo.f_merg(代号)
create function test(@id varchar(20))
returns varchar(8000)
as
begin
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+部门 from 表 where 代号=@id
return(@sql)
end--执行
--
update 表 set 备注=dbo.test(代号)
create function f_merg(@代号 varchar(20))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+部门 from 表 where 代号=@代号 order by 数量 desc
return(@re)
end
go--添加备注列,调用此函数进行更新
alter table 表 add 备注 varchar(8000)
go
update 表 set 备注=dbo.f_merg(代号)
create table tb(代号 varchar(10),数量 int,部门 varchar(20))
insert into tb
select '0001',20,'1部'
union all select '0001',25,'2部'
union all select '0001',30,'6部'
union all select '0002',2,'1部'
union all select '0003',2,'1部'
union all select '0003',12,'2部'
go--创建一个合并的函数
create function f_merg(@代号 varchar(20))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+部门 from tb where 代号=@代号 order by 数量 desc
return(@re)
end
go--添加备注列,调用此函数进行更新
alter table tb add 备注 varchar(8000)
go
update tb set 备注=dbo.f_merg(代号)--显示更新结果
select *,dbo.f_merg(代号) from tb--删除测试环境
drop table tb
drop function f_merg