-1

TSQL で問題を解決する必要がある

現在のテーブル

TRX      DOC      ITEM      DOCTYPE      QTY
--------------------------------------------
123      ASM1     001       1            100
124      ASM2     002       1             10
234      ADJ1     002       2            -30
456      SAL1     001       3            -20
457      SAL2     002       3            -10
789      PRE1     002       4             10
910      ADJ2     001       2             20

このように、列 QTY を sum(QTY) AS QTYIN および QTYOUT に分割する方法

ITEM    QTYIN    QTYOUT   TOTQTY
---------------------------------
 001      120       -10     110
 002       20       -50     -30

助けてくれてありがとう、解決策が必要です。

4

1 に答える 1

4

GROUP BY句を使用して結果をItemで結合SUMし、ステートメントを使用して特定の基準 ( DEMO )CASEを合計します。

select
  item,
  sum(case when qty > 0 then qty end) as qtyin,
  sum(case when qty < 0 then qty end) as qtyout,
  sum(qty) as totqty
from
  Table1
group by
  Item

サンプル出力 (違いは単なるタイプミスだと思いますか?):

| ITEM | QTYIN | QTYOUT | TOTQTY |
----------------------------------
|    1 |   120 |    -20 |    100 |
|    2 |    20 |    -40 |    -20 |
于 2013-01-30T20:55:58.603 に答える