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

如何计算两张关联表中共同ID对应的所有sum值总和

问题描述

现有两张关联表table1与table2,需对同时存在于两张表中的ID对应的sum字段值进行求和。表结构及数据如下:

table1:

idsum
15
310
515

table2:

idsum
110
220
530

预期计算结果为:

sum = 5 + 10 + 15 + 30 = 60
解决方案

方法一:合并数据后求和

通过子查询分别提取两张表中共有ID对应的sum值,合并后整体求和:

SELECT SUM(total) AS total_sum
FROM (
    -- 取出table1中存在于table2的ID对应的sum
    SELECT sum AS total FROM table1 WHERE id IN (SELECT id FROM table2)
    UNION ALL
    -- 取出table2中存在于table1的ID对应的sum
    SELECT sum AS total FROM table2 WHERE id IN (SELECT id FROM table1)
) AS combined_data;

方法二:关联表后分别求和再相加

利用INNER JOIN仅保留两张表共有的ID,分别统计两张表的sum总和后相加:

SELECT (SUM(t1.sum) + SUM(t2.sum)) AS total_sum
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id;

两种方法最终都会得到结果60,符合预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:42:10