尝试将SUM SQL代码用于SUM SOH以获取所有ITEM_PARENT数字。 SOH是我正在寻找的结果,而ITEM_PARENT和STOCK_ON_HAND就是我所拥有的。
CASE WHEN ITEM_PARENT = ITEM_PARENT THEN SUM(STOCK_ON_HAND) ELSE 'DN' END AS SOH_SUM,
我已经完成的代码似乎无法正常工作....
ITEM_PARENT STOCK_ON_HAND SOH_SUM
123649336 1 11
123649336 1 11
123649336 1 11
123649336 5 11
123649336 2 11
123649336 1 11
123649328 1 15
123649328 1 15
123649328 2 15
123649328 1 15
123649328 2 15
123649328 1 15
123649328 1 15
123649328 3 15
123649328 3 15
124566152 3 19
124566152 1 19
124566152 3 19
124566152 3 19
124566152 2 19
124566152 7 19
任何人都知道我在那里失踪了吗?
答案 0 :(得分:1)
看起来您尝试进行某种条件聚合,但您的预期输出不需要这样。我们可以对整个表格进行选择,然后使用SUM
作为分析函数来计算SOH_SUM
。
SELECT
ITEM_PARENT, STOCK_ON_HAND,
SUM(STOCK_ON_HAND) OVER (PARTITION BY ITEM_PARENT) SOH_SUM
FROM yourTable
ORDER BY ITEM_PARENT;
答案 1 :(得分:1)
您可以使用窗口函数来获得所需的结果。
select
[ITEM_PARENT]
,[STOCK_ON_HAND]
,sum([STOCK_ON_HAND]) over(partition by [ITEM_PARENT]) as [ItemTotal]
from tablename
;
否则,如果您想获得每件商品的总库存,请将数据分组:
select
[ITEM_PARENT]
,sum([STOCK_ON_HAND]) as [TotalStockOnHand]
from tablename
group by
[ITEM_PARENT]
;