SQLServer2000的自定义聚合函数

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 jinjazz 的 blog

--和行转列的应用效果差不多了,统计结果中可能会用到
--测试表
create table test
(f1 varchar(10),
 f2 varchar(10))
--插入数据
insert into test
select 'jack' f1,'book1' f2
union
select 'jack' f1,'book2' f2
union
select 'jack' f1,'book3' f2
union
select 'mary' f1,'book4' f2
union
select 'mary' f1,'book5' f2
union
select 'mike' f1,'book1' f2
union
select 'mike' f1,'book5' f2
union
select 'mike' f1,'book7' f2
union
select 'mike' f1,'book9' f2
--一条动态sql语句

go
--合并函数
create function mergecharfield(@group varchar(255))
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+rtrim(f2) from test where f1=@group

return(substring(@r,2,8000))
end
go
--调用
select f1 [name],dbo.mergecharfield(f1) [book] from test group by f1
--删除测试环境
drop table test
drop function mergecharfield

/*
name     book
--------------------------
jack       book1,book2,book3
mary     book4,book5
mike     book1,book5,book7,book9

*/

本文关键:SQLServer2000的自定义聚合函数
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top