sqlserver中的自定义聚合函数--测试表
sqlserver中的自定义聚合函数
create table Test
sqlserver中的自定义聚合函数(F1 
varchar(10),
sqlserver中的自定义聚合函数 F2 
varchar(10))
sqlserver中的自定义聚合函数
--插入数据
sqlserver中的自定义聚合函数
insert into Test 
sqlserver中的自定义聚合函数
select 'jack' F1,'book1' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'jack' F1,'book2' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'jack' F1,'book3' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mary' F1,'book4' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mary' F1,'book5' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mike' F1,'book1' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mike' F1,'book5' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mike' F1,'book7' F2
sqlserver中的自定义聚合函数
union
sqlserver中的自定义聚合函数
select 'Mike' F1,'book9' F2
sqlserver中的自定义聚合函数
--一条动态SQL语句
sqlserver中的自定义聚合函数

sqlserver中的自定义聚合函数
go
sqlserver中的自定义聚合函数
--合并函数
sqlserver中的自定义聚合函数
CREATE FUNCTION MergeCharField(@Group varchar(255))
sqlserver中的自定义聚合函数
RETURNS varchar(8000)
sqlserver中的自定义聚合函数
AS
sqlserver中的自定义聚合函数
BEGIN
sqlserver中的自定义聚合函数
DECLARE @r varchar(8000)
sqlserver中的自定义聚合函数
SET @r=''
sqlserver中的自定义聚合函数
SELECT @r=@r+','+rtrim(F2) FROM Test WHERE F1=@Group
sqlserver中的自定义聚合函数
sqlserver中的自定义聚合函数
RETURN(substring(@r,2,8000))
sqlserver中的自定义聚合函数
END
sqlserver中的自定义聚合函数
GO
sqlserver中的自定义聚合函数
--调用
sqlserver中的自定义聚合函数
select F1 [name],dbo.MergeCharField(F1) [book] from test group by F1
sqlserver中的自定义聚合函数
--删除测试环境
sqlserver中的自定义聚合函数
drop table test
sqlserver中的自定义聚合函数
drop FUNCTION MergeCharField
sqlserver中的自定义聚合函数

相关文章: