如果我的总数量= 100,并且它已在4个阶段中发运,行40、10、25、25等于100。当我运行此查询时:
有人帮我完成了这个查询。我希望DB2也有同样的runnable。
SET totalQty = -1;
SELECT
IF(@totalQty<0, pl.quantity, @totalQty) AS totalQty,
pr.invoiceqty,
@totalQty:=(@totalQty - pr.invoiceqty) AS balance
FROM
purchaseorderline pl, replenishmentrequisition pr
我得到这样的结果:
--total qty-- --invoice qty-- --balance qty--
100 40 60
100 10 90
100 25 75
100 25 70
我想要的结果是:
--total qty-- --invoice qty-- --balance qty--
100 40 60
60 10 50
50 25 25
25 25 00
2条答案
按热度按时间polhcujo1#
如果你能以表格的形式提供一些样本数据,而不仅仅是你在表格上得到的数据,那就足够了。
| 总数量|发票数量|余额数量|
| - -|- -|- -|
| 100个|四十|六十|
| 六十|10个|五十个|
| 五十个|二十五个|二十五个|
| 二十五个|二十五个|第0页|
rhfm7lfc2#
Marks的一个变体答案是:
它在外部级别使用提前量,而不是在内部级别对整个窗口求和
Fiddle