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

如何创建Access查询合并两行同类grant经费数据为单行并求和?

创建可合并两行数据的Access查询方法

核心实现逻辑

当前合并需求本质是将同项目关联的两行记录(主编号19110、带后缀的子编号19110b)做聚合处理:

  • 按照同项目的识别规则把关联行归为同一组
  • 对组内的数值型预算字段做累加求和
  • 对组内的文本字段(经费编号、分类)取主条目值作为最终展示结果

可直接运行的查询SQL

在Access的SQL查询视图中输入以下代码,替换实际表名即可执行:

SELECT
  Min(t.GrantNumber) AS GrantNumber,
  First(t.Category) AS Category,
  Sum(t.FedBudget) AS FedBudget,
  Sum(t.MatchBudget) AS MatchBudget
FROM 你的实际表名 t
GROUP BY
  Val(t.GrantNumber),
  t.Category;

逻辑说明

  • 借助Access内置的Val()函数提取GrantNumber字段的开头数字部分:Val("19110")和Val("19110b")的返回值均为19110,两个记录会被自动分到同一聚合组
  • 对分组内的GrantNumber取最小值:字符串排序规则下"19110" < "19110b",最终输出的编号就是不带后缀的主编号19110,完全匹配期望的输出格式
  • 对FedBudget、MatchBudget字段做求和计算,可自动合并两个条目的预算值(393861 + 106135 = 499996)
  • 同组内Category字段本身值一致,取任意值即可得到正确的分类结果

注意事项

  • 执行前请把SQL中的你的实际表名替换为数据库中存储数据的真实表名
  • 可以单独运行SELECT Val(GrantNumber) FROM 你的实际表名,验证所有需要合并的条目提取的分组值一致
  • 如果预算字段是带$符号的文本存储格式,需要把求和部分的代码替换为Sum(Val(Replace(t.FedBudget,"$","")))、Sum(Val(Replace(t.MatchBudget,"$",""))),先去掉货币符号、转成数值再计算累加
  • 该规则可自动适配后续出现的其他同类后缀(比如19110a、19110c)的合并需求

内容的提问来源于stack exchange,提问作者Barbara Booker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 16:15:04