sql - SQL Server PIVOT 按多列
问题描述
我已经搜索了多个枢轴,但仍然没有找到与我的相似的。我正在使用 SQL Server 2008。
我已经用数据透视创建了一个查询:
select *
from
(select
branch, sum(balance) [balance],
year(docdate) [year], month(docdate) [month]
from
tempprt
group by
branch, year(docdate), month(docdate)) as a
pivot
(sum(balance)
for month in ([1], [2])) as pvt1
我得到这个输出:
现在,我想将每年的第1列和第 2列相加,并将年份作为列:
感谢您的帮助。谢谢!
解决方案
你可以试试下面的脚本 -
select branch,
SUM(CASE WHEN year(docdate) = 2019 THEN balance ELSE 0 END) [2019],
SUM(CASE WHEN year(docdate) = 2019 AND MONTH(docdate) = 1 THEN balance ELSE 0 END) [2019_1],
SUM(CASE WHEN year(docdate) = 2019 AND MONTH(docdate) = 2 THEN balance ELSE 0 END) [2019_2],
SUM(CASE WHEN year(docdate) = 2018 THEN balance ELSE 0 END) [2018],
SUM(CASE WHEN year(docdate) = 2018 AND MONTH(docdate) = 1 THEN balance ELSE 0 END) [2018_1],
SUM(CASE WHEN year(docdate) = 2018 AND MONTH(docdate) = 2 THEN balance ELSE 0 END) [2018_2]
from tempprt
GROUP BY branch
推荐阅读
- azure - 条件语句不适用于 vm 扩展
- image - 如何使用 imagemagick 从跨越两页的一系列 jpeg 图像创建常规的单页 pdf?
- google-maps-api-3 - Google Geolocation API 在浏览器控制台中返回 403 错误
- python - 无法更新python字典中的输出
- c# - 如何在 10 秒内将 200 万行插入 sqlserver 中的两个表
- laravel - 如何在 laravel 中同时启用 api 和 web 守卫
- jquery - 如何使用 JQuery easyui 组合树绑定分层 json 数据
- reactjs - 将空函数传递给 React 组件
- node.js - 在 AWS amplify 中重写和重定向
- r - 如何根据年份模式匹配面板数据?