【发布时间】:2017-11-27 18:37:05
【问题描述】:
请考虑以下付款数据:
customerID paymentID pamentType paymentDate paymentAmount
---------------------------------------------------------------------
1 1 A 2015-11-28 500
1 2 A 2015-11-29 -150
1 3 B 2016-03-07 300
2 4 A 2015-03-03 200
2 5 B 2016-05-25 -100
2 6 C 2016-06-24 700
1 7 B 2015-09-22 110
2 8 B 2016-01-03 400
我需要每年按客户统计各种付款类型(A = 发票,B = 贷方票据等)的总和,如下所示:
year customerID paymentType paymentSum
-----------------------------------------------
2015 1 A 350 : paymentID 1 + 2
2015 1 B 110 : paymentID 7
2015 1 C 0
2015 2 A 200 : paymentID 4
2015 2 B 0
2015 2 C 0
2016 1 A 0
2016 1 B 300 : paymentID 3
2016 1 C 0
2016 2 A 0
2016 2 B 300 : paymentID 5 + 8
2016 2 C 700 : paymentId 6
每个类别都有价值很重要(因此对于 2015 年,客户 1 的类型 C 的付款价值为 0,但仍然很高兴看到这一点)。
实际上,有超过 10 种支付类型和大约 30 位客户。总日期范围为 10 年。
这是否可能仅在 SQL 中执行,如果可以,有人可以告诉我怎么做吗?如果可能的话,使用相对简单的查询以便我可以从中学习,例如将中间结果存储到 #temptable 中。
非常感谢任何帮助!
【问题讨论】:
标签: sql sql-server sql-server-2012