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

使用SUM函数关联三张表的SQL查询:汇总主账户交易总额

获取每个Main_id对应的交易总额的SQL实现

先理清楚三张表的关联逻辑:主表和子表通过Main_id是一对多关系,子表和交易表通过Sub_id也是一对多关系,我们需要把三张表关联起来,再按主表的Main_id分组计算交易总额。

表结构回顾

主表(Main)

Main_idMain_name
1A
2B

子表(Sub)

Sub_idSub_nameMain_id
11AA1
12AB1
22BB2

交易表(Transaction)

Transaction_IDAmountSub_id
110011
120011
15022

核心SQL语句

下面的语句可以实现需求,同时兼顾了没有交易记录的主表行也能显示(总额为0):

SELECT 
    m.Main_id,
    m.Main_name,
    COALESCE(SUM(t.Amount), 0) AS Total_Amount
FROM Main m
LEFT JOIN Sub s ON m.Main_id = s.Main_id
LEFT JOIN Transaction t ON s.Sub_id = t.Sub_id
GROUP BY m.Main_id, m.Main_name;

语句细节说明

  • 用LEFT JOIN而非INNER JOIN:确保哪怕某个Main_id没有子表记录或者交易记录,也会出现在结果里,不会被过滤掉
  • COALESCE(SUM(t.Amount), 0):处理分组后无交易的情况,把NULL转为0,结果更直观
  • GROUP BY m.Main_id, m.Main_name:按照主表的唯一标识和名称分组,保证每个主表条目对应一行汇总结果

示例执行结果

用你提供的测试数据运行后,会得到如下结果:

Main_idMain_nameTotal_Amount
1A300
2B50

内容的提问来源于stack exchange,提问作者Ahmed S. Elsenbawy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:37:08