首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

分组统计有关问题,多谢

2012-01-14 
分组统计问题,谢谢HYHU1A2B1C3D需要结果:HYHU1A,C2B3D[解决办法]create table tb(HY int,HU varchar(100))

分组统计问题,谢谢
HY     HU
1       A
2       B
1       C
3       D

需要结果:
HY     HU
1       A,C
2       B
3       D

[解决办法]


create table tb(HY int,HU varchar(100))
go
insert into tb
select 1, 'A ' union all
select 2, 'B ' union all
select 1, 'C ' union all
select 3, 'D '
go
--写一个聚合函数:
create function dbo.fn_Merge(@HY int)
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r= ' '
select @r=@r+ ', '+HU from tb where HY=@HY
return stuff(@r,1,1, ' ')
end
go

-- 调用函数
select HY, dbo.fn_Merge(HY) as HU from tb group by HY

go
drop table tb
drop function fn_Merge

热点排行