【问题标题】:SQL Issue - SumSQL 问题 - 总和
【发布时间】:2021-01-22 16:15:20
【问题描述】:

我想在 SQL 中求和一个 Quantity,但我得到一个错误。 有谁知道我做错了什么? 谢谢! (对不起,我不擅长 SQL!) 它工作正常,直到我尝试对 BXQTOH 求和(添加总和并分组打破它)

SELECT STKMP.AWPART, STKMP.AWDES1, POPTVP.BF5PLT,              
POPTVP.BF5VPT, SUM(STKB.BXQTOH)                                
 FROM stkmP INNER JOIN POPTVP ON BF5PT# = AWPART                                                         
 INNER JOIN STKB ON STKB.BXPLNT = POPTVP.BF5PLT                
AND AWPART LIKE 'Z%' AND STKB.BXPART = AWPART GROUP BY BXPLNT 

我有额外的行需要合并成一行...所以基本上对于 Z00002 我需要将 0 和 1 数量汇总为一行。 谢谢

https://i.stack.imgur.com/KuX3f.png

【问题讨论】:

  • 您缺少SELECT。而且您的GROUP BY 列与SELECT 列不一致。
  • 抱歉代码块不小心弄乱了,并删除了我的选择.. 已修复 :)
  • 我试图基本上得到 BF5PLT (位置)和部分(AWPART)的总和 :)
  • 您不能选择您的 group by 子句中没有的其他列,但是如果您想要特殊的输出,也许一些数据和所需的输出将帮助我们帮助您:)

标签: sql database db2


【解决方案1】:
SELECT STKMP.AWPART, STKMP.AWDES1, POPTVP.BF5PLT,              
POPTVP.BF5VPT, sum(CAST(STKB.BXQTOH AS BIGINT))                              
 FROM stkmP INNER JOIN POPTVP ON BF5PT# = AWPART                                                         
 INNER JOIN STKB ON STKB.BXPLNT = POPTVP.BF5PLT                
AND AWPART LIKE 'Z%' AND STKB.BXPART = AWPART GROUP BY BXPLNT 

【讨论】:

  • > SELECT STKMP.AWPART, STKMP.AWDES1, POPTVP.BF5PLT, POPTVP.BF5VPT, sum(CAST(STKB.BXQTOH AS BIGINT)) FROM stkmP INNER JOIN POPTVP ON BF5PT# = AWPART INNER JOIN STKB ON STKB.BXPLNT = POPTVP.BF5PLT AND AWPART LIKE 'Z%' AND STKB.BXPART = AWPART GROUP BY BXPLNT 列 AWPART 或 SELECT 列表中的表达式无效。给出 AWPART 错误或选择列表中的表达式无效:(
猜你喜欢
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多