Sql 求和字段不求和
类似于我的最后一个问题。这是我的密码:Sql 求和字段不求和,sql,database,tsql,plsql,Sql,Database,Tsql,Plsql,类似于我的最后一个问题。这是我的密码: SELECT TR.ITEMNO, SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'PO' THEN 1 ELSE 0 END ) AS SUM_IN, SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'MH' THEN 1 ELSE 0 END ) AS SUM_OUT FROM IQMS.TRANSLOG TR WHERE TR
SELECT TR.ITEMNO,
SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'PO' THEN 1 ELSE 0 END ) AS SUM_IN,
SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'MH' THEN 1 ELSE 0 END ) AS SUM_OUT
FROM IQMS.TRANSLOG TR
WHERE TR.ITEMNO = '200672'
GROUP BY TR.ITEMNO
HAVING SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'PO' THEN 1 ELSE -1 END ) < 0
ORDER BY TR.ITEMNO
选择TR.ITEMNO,
求和(TR.TRANS_QUAN*案例TR.TRANS_TYPE,当'PO'时,则为1,否则为0结束)作为中的求和,
求和(TR.TRANS_QUAN*案例TR.TRANS_TYPE,当'MH'时,则为1,否则为0结束)作为求和
来自IQMS.TRANSLOG TR
其中TR.ITEMNO='200672'
按TR.ITEMNO分组
具有总和(TR.TRANS_QUAN*案例TR.TRANS_TYPE,当'PO'时,则为1 ELSE-1 END)<0
按TR订购项目编号
代码运行正常,但没有求和。然而,我知道有一个事实,那就是有一些数字需要求和。有什么明显的东西我遗漏了吗?提前谢谢!!:) 试试
SUM (TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'PO' THEN 1 ELSE 0 END )
OVER(PARTITION BY TR.ITEMNO) AS SUM_IN,
SUM ( TR.TRANS_QUAN * CASE TR.TRANS_TYPE WHEN 'MH' THEN 1 ELSE 0 END )
OVER(PARTITION BY TR.ITEMNO) AS SUM_OUT,
看看我在你上一个问题中的回答。如果没有看到一些样本数据,很难发现任何“错误”。你能提供你的数据的一个子集,允许复制这个案例吗?。。。此外,请解释一下您的
将clauseArePO
和MH
作为TRANS\u TYPE
的唯一可能值的想法,或者表中还有其他值吗?Nicholas已经解决了这个问题!!再次感谢