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

Firebird SQL多表关联查询:如何按用户汇总Input1与Input2数值

Firebird SQL关联查询实现客户Input总和统计

没问题,我来帮你搞定这个查询需求!核心思路是先分别计算两个Input表中每个客户的Value总和,再和Customer表关联,避免直接关联多个明细表格导致的笛卡尔积(重复计算)问题。

具体SQL代码

SELECT
    c.Name,
    COALESCE(s1.TotalInput1, 0) AS Input1,
    COALESCE(s2.TotalInput2, 0) AS Input2
FROM Customer c
LEFT JOIN (
    SELECT Name, SUM(Value) AS TotalInput1
    FROM Input1
    GROUP BY Name
) s1 ON c.Name = s1.Name
LEFT JOIN (
    SELECT Name, SUM(Value) AS TotalInput2
    FROM Input2
    GROUP BY Name
) s2 ON c.Name = s2.Name
ORDER BY c.Name;

代码说明

  • 两个子查询s1和s2分别对Input1和Input2按Name分组,计算每个客户的Value总和,先把明细数据聚合为每个客户一行的汇总数据,避免后续关联时出现重复计算。
  • 使用LEFT JOIN关联Customer表,确保即使某个客户在Input表中没有数据(比如新客户还没录入数据),也能在结果中显示;同时用COALESCE把NULL值替换为0,保证结果的完整性。
  • 最后按Name排序,让结果展示更清晰。

执行这段SQL后,就能得到你想要的结果:

NameInput1Input2
Angel1030
Charlie1525

内容的提问来源于stack exchange,提问作者Moch Fahmy Ainur Rofiq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:14:23