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,

看看我在你上一个问题中的回答。如果没有看到一些样本数据,很难发现任何“错误”。你能提供你的数据的一个子集,允许复制这个案例吗?。。。此外,请解释一下您的
clauseAre
PO
MH
作为
TRANS\u TYPE
的唯一可能值的想法,或者表中还有其他值吗?Nicholas已经解决了这个问题!!再次感谢