部门 姓名 工资
-----------------
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