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

如何基于基础表ID关联多表并按ID聚合各表对应值求和

多表关联按参照ID聚合求和需求

我需要关联5张数据表,这些表与存储全量ID的基础表共享同一个参照ID。待关联的表不是每个参照ID都有对应数值,部分参照ID还可能对应多条记录,最终需要输出按参照ID分组,对各表对应数值求和的结果。

示例说明

基础表

参照ID基础数值
1a
2b
3c
4d
5e
6f
7g
8h

表1

参照ID表1数值
1i
2j
2x
3k
4l

表2

参照ID表2数值
1m
5n
7o
7y
8p

表3

参照ID表3数值
2q
4r
6s
8t
8z

期望输出结果

参照ID基础数值表1数值求和表2数值求和表3数值求和
1aim
2b(j+x)q
3ck
4dlr
5en
6fs
7g(o+y)
8hp(t+z)

已编写的实现代码

SELECT 
T0."STATUS", 
T0."DocNum" AS "ProjectNumber", 
T0."NAME", T0."CARDNAME" AS "Client", 
T0."FINISHED" AS "Project Finished", 
T1."PoPhAmt" AS "Project Value", 
T1."PhBudget" AS "Budget", 
(T1."PoPhAmt"-T1."PhBudget") AS "Planned Gross Profit", 
T1."TotalAP" AS "Ordered", 
SUM(T2."PaidSys") AS "Paid Downpayments(Client)", 
COUNT(T2."PaidSys"), 
SUM(T3."PaidSys") AS "Paid Invoices(Client)", 
COUNT(T3."PaidSys"), 
SUM(T4."PaidSys") AS "Creditnotes(Client)", 
COUNT(T4."PaidSys")

FROM 
(OPMG T0 INNER JOIN PMG8 T1 ON T0."AbsEntry" = T1."AbsEntry") 
LEFT JOIN ODPI T2 ON T0."FIPROJECT" = T2."Project" 
LEFT JOIN OINV T3 ON T0."FIPROJECT" = T3."Project" 
LEFT JOIN ORIN T4 ON T0."FIPROJECT" = T4."Project"


WHERE 
T0."FINISHED" < '100' AND T0."STATUS" <> 'N' AND T0."STATUS" <> 'P'

GROUP BY 
T0."STATUS", 
T0."DocNum", 
T0."NAME", 
T0."CARDNAME", 
T0."FINISHED" , 
T1."PoPhAmt", 
T1."PhBudget", 
T1."TotalAP"

ORDER BY 
T0."DocNum"

内容的提问来源于stack exchange,提问作者André Schwarze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 03:39:04