我需要在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分割为总和(QTY)AS QTYIN和QTYOUT,如下所示
ITEM QTYIN QTYOUT TOTQTY
---------------------------------
001 120 -10 110
002 20 -50 -30
感谢您的帮助,我需要解决方案。
答案 0 :(得分:4)
使用GROUP BY
子句将结果合并到Item
,然后将SUM
与CASE
语句合并为特定条件(DEMO):
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 |