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

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

2013-09-11 
求这样sql汇总语句部门姓名工资-----------------AJACK20BTOM30AJONE80Bpeter30怎么能做出这样的效果?部门

求这样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

热点排行