22,209
社区成员
发帖
与我相关
我的任务
分享
create table xfmx
(
name varchar(20),
buname varchar(30),
xfjr int,
xfri datetime
)
GO
insert xfmx values('张三','人事部',200,'2018-12-12 17:00:00')
GO
insert xfmx values('张三','人事部',200,'2018-12-12 17:11:00')
GO
insert xfmx values('李四','技术部',300,'2018-12-12 19:00:00')
select name,buname,[201810],[201811],[201812],合计=isnull([201810],0)+isnull([201811],0)+isnull([201812],0)
from (
select name,buname,xfjr,xfri=convert(varchar(6),xfri,112),mark=1
from xfmx
union all
select name=null,'合计',xfjr,xfri=convert(varchar(6),xfri,112),mark=2
from xfmx
) a pivot(sum(xfjr) for xfri in([201810],[201811],[201812]))pt
order by mark
name buname 201810 201811 201812 合计
-------------------- ------------------------------ ----------- ----------- ----------- -----------
李四 技术部 NULL NULL 600 600
张三 人事部 NULL NULL 800 800
NULL 合计 NULL NULL 1400 1400