1

私の最後の質問に似ています。これが私のコードです:

  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

コードは正常に実行されていますが、SUM_OUTの合計は何もありません。しかし、私は事実を知っていますが、合計する必要のある数字があります。私が行方不明になっていることは明らかですか?前もって感謝します!!:)

4

1 に答える 1

3

試す...

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,
于 2012-09-27T10:46:31.043 に答える