读书人

求这样sql汇总语句解决方法

发布时间: 2013-09-11 16:59:41 作者: rapoo

求这样sql汇总语句
部门姓名工资
-----------------
AJACK20
BTOM30
AJONE80
Bpeter 30

怎么能做出这样的效果?
部门 人员合计
-----------------
AJACK,JONE 100
BTOM,peter 60


[解决办法]
create table T(部门 varchar(10), 姓名 varchar(10), 工资 int)
insert T select 'A ', 'JACK ',20
union all select 'B ', 'TOM ',30
union all select 'A ', 'JONE ',80
union all select 'B ', 'peter ', 30

create function fun(@部门 varchar(10))
returns varchar(200)
as
begin
declare @re varchar(200)
set @re= ' '
select @re=@re+ ', '+姓名 from T where 部门=@部门

return(stuff(@re, 1, 1, ' '))
end

select 部门, dbo.fun(部门) as 姓名, sum(工资) as 工资
from T
group by 部门

--result
部门 姓名 工资
---------- -------------------------------------------------------------------------------------------- -----------
A JACK,JONE 100
B TOM,peter 60

我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

读书人网 >SQL Server

热点推荐