【发布时间】:2016-07-29 11:43:29
【问题描述】:
我使用的是 SQL Server 2014。我需要汇总按客户和位置划分或分组的日期范围内的总计(总和)。关键是获取所有调整金额并在它们适用于开票交易日期时对其进行汇总。
因此,在最后一个账单日期之后但小于下一个账单日期的所有调整都需要汇总并与账单金额一起很好地呈现。
查看示例:
+------------------+------------+------------+------------------+--------------------+
| TRANSACTION_TYPE | CUSTOMERID | LOCATIONID | TRANSACTION DATE | TRANSACTION AMOUNT |
+------------------+------------+------------+------------------+--------------------+
| bill | 215 | 102 | 7/7/2016 | $100.00 |
| bill | 215 | 102 | 6/6/2016 | $121.00 |
| adj | 215 | 102 | 6/1/2016 | $22.00 |
| adj | 215 | 102 | 5/8/2016 | $0.35 |
| adj | 215 | 102 | 5/7/2016 | $5.00 |
| bill | 215 | 102 | 5/6/2016 | $115.00 |
| bill | 215 | 102 | 4/7/2016 | $200.00 |
| adj | 215 | 102 | 4/2/2016 | $4.35 |
| adj | 215 | 102 | 4/1/2016 | $(0.50) |
| adj | 215 | 102 | 3/28/2016 | $33.00 |
| bill | 215 | 102 | 3/28/2016 | $75.00 |
| adj | 215 | 102 | 3/5/2016 | $0.33 |
| bill | 215 | 102 | 3/3/2016 | $99.00 |
+------------------+------------+------------+------------------+--------------------+
我想看到的是以下内容:
+------------------+------------+------------+------------------+-------------+-------------------+
| TRANSACTION_TYPE | CUSTOMERID | LOCATIONID | TRANSACTION DATE | BILL AMOUNT | ADJUSTMENT AMOUNT |
+------------------+------------+------------+------------------+-------------+-------------------+
| bill | 215 | 102 | 7/7/2016 | $100.00 | $- |
| bill | 215 | 102 | 6/6/2016 | $121.00 | $27.35 |
| bill | 215 | 102 | 5/6/2016 | $115.00 | $- |
| bill | 215 | 102 | 4/7/2016 | $200.00 | $36.85 |
| bill | 215 | 102 | 3/28/2016 | $75.00 | $0.33 |
| bill | 215 | 102 | 3/3/2016 | $99.00 | $- |
+------------------+------------+------------+------------------+-------------+-------------------+
【问题讨论】:
标签: sql sql-server-2014 aggregates