【发布时间】:2021-12-11 06:02:44
【问题描述】:
我在数据库中有一个表,其中存储了金额、它们各自的“发票日期”以及这些发票日期属于合同的哪一年。
有签订年度、半年度、季度和月度合同的客户。因此,一年可以有多个发票 - 因此该列定义发票属于哪一年。
看起来类似这样:
| ContractID | InvoiceNumber | InvoiceDate | Amount | YearIndex |
|---|---|---|---|---|
| 1 | 1 | 01/01/2019 | 100 | 1 |
| 1 | 2 | 01/06/2019 | 100 | 1 |
| 1 | 3 | 01/01/2020 | 100 | 2 |
| 1 | 4 | 01/06/2020 | 100 | 2 |
| 2 | 1 | 01/03/2020 | 200 | 1 |
| 2 | 2 | 01/03/2020 | 200 | 2 |
| 2 | 3 | 01/03/2021 | 200 | 3 |
| 3 | 1 | 01/01/2020 | 300 | 1 |
| 3 | 2 | 01/04/2020 | 300 | 1 |
| 3 | 3 | 01/07/2020 | 300 | 1 |
| 3 | 4 | 01/10/2020 | 300 | 1 |
理想情况下,我想运行一个查询,在那里我可以看到每个合同金额的总和,按年份索引分组,例如
| ContractID | Year1Amount | Year2Amount | Year3Amount |
|---|---|---|---|
| 1 | 200 | 200 | NULL |
| 2 | 200 | 200 | 200 |
| 3 | 1200 | NULL | NULL |
这可能来自单个查询吗?还是需要加入多个?
关于可用语法,我正在使用 Microsoft Access。
提前感谢您的帮助。
【问题讨论】:
标签: sql ms-access select group-by