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

SQL创建两表带SUM聚合视图求和结果异常问题解决

问题原因

你的SQL语句没有给两个表设置关联条件,FROM project, projektzugehoerigkeit 这种无关联条件的隐式连接写法会生成两个表的笛卡尔积——也就是Project表的每一行,都会和projectzugehoerigkeit表的所有行强行匹配。
你可以自行核算:projectzugehoerigkeit表所有ProjZeit的总和是60+40+100+20+50+30+80+20=400,笛卡尔积生成的结果里,每个项目都会匹配到全量的工时记录,分组求和后自然每个项目的结果都是400,和实际业务关联逻辑不符。
另外本次需求不需要用到personal表,无需关联该表。

正确实现方式

用显式JOIN关联两个表,通过两表共有的ProjID字段做匹配关联,再分组求和即可,代码如下:

CREATE VIEW ueberblick1 AS 
SELECT 
    project.Projekt,
    SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt
FROM project
INNER JOIN projektzugehoerigkeit
    ON project.ProjID = projektzugehoerigkeit.ProjID
GROUP BY project.ProjID, project.Projekt;

注:分组时带上ProjID是更稳妥的写法,避免后续出现同名项目时统计出错。

执行后输出结果和预期完全一致:

ProjektProjektStundenInsgesamt
A160
B90
C150

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:15:34