永发信息网

SQL查询。如图,怎么把原表变成结果表。求语句!!

答案:2  悬赏:0  手机版
解决时间 2021-11-24 05:09
  • 提问者网友:夢醒日落
  • 2021-11-23 13:20
SQL查询。如图,怎么把原表变成结果表。求语句!!
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-11-23 14:43
select department,
sum(case when curperiod=201710 then 收入 else 0 end),
sum(case when curperiod=201711 then 收入 else 0 end)
from 表名 group by department这样?

追问提示收入既不包含在聚合函数中,也不包含在group by子句中。。。追答运行的实际语句及报错截图发上来
全部回答
  • 1楼网友:千杯敬自由
  • 2021-11-23 15:54

你这个是行列转换哦!

请参阅以下脚本:

create table #t
(curperiod varchar(10),
department varchar(20),
[收入] int 
)

insert into #t 
values('201710','内一科',10000),
('201710','内二科',15000),
('201711','内一科',8000),
('201711','内二科',10000)

 select * from 
 (select curperiod ,department,[收入] from  #t) as d
 
 pivot(sum([收入]) for curperiod 
   in([201710],[201711])) 
   t   order by t.department desc  
 
 
 truncate table #t
 drop table #t

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯