当前位置: 代码迷 >> Sql Server >> 求这样sql汇总语句解决方法
  详细解决方案

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

热度:87   发布时间:2016-04-27 16:53:46.0
求这样sql汇总语句
部门 姓名 工资
-----------------
A JACK 20
B TOM 30
A JONE 80
B peter       30

怎么能做出这样的效果?
部门                 人员 合计
-----------------
A JACK,JONE                   100
B TOM,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 @[email protected]+ ', '+姓名 from T where [email protected]

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.daimami.com/other/1391128.html
  相关解决方案