You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Access中单表基于单列多条件查询多列统计合同年金额

Microsoft Access 合同年度金额汇总查询方案

这个需求完全可以通过单条查询实现,无需额外多表连接,使用Access原生支持的条件聚合语法即可实现你要的行转列汇总效果。


实现SQL代码

假设你的表名为InvoiceRecords,请自行替换为实际的表名:

SELECT 
  ContractID,
  SUM(IIF(YearIndex = 1, Amount, NULL)) AS Year1Amount,
  SUM(IIF(YearIndex = 2, Amount, NULL)) AS Year2Amount,
  SUM(IIF(YearIndex = 3, Amount, NULL)) AS Year3Amount
FROM InvoiceRecords
GROUP BY ContractID;

语法说明

  • 核心使用Access内置的IIF函数做条件判断:当行的YearIndex符合对应年度序号时,取金额Amount参与求和,否则传入NULL
  • SUM函数会自动忽略NULL值,没有对应年度发票的合同就会返回NULL,完全匹配你给出的预期输出
  • 仅需一次表扫描,执行效率比多表连接方案更高
  • 如果后续需要扩展更多合同年度,只需要在SELECT部分新增对应SUM(IIF(...))的列即可

内容的提问来源于stack exchange,提问作者Adam Rawlinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:39:04