我尝试用以前股票的价值更新我的基本SellAll。到目前为止,我有这样的请求:
UPDATE SellAll
set S_stock = (S_in - S_out) + monthn1.stock
FROM
(
SELECT
LAG(S_stock,1,0) OVER (ORDER BY S_famille,S_year, S_month) AS stock,
S_id
FROM SellAll
) AS monthn1
WHERE SellAll.S_id = monthn1.S_id;
字符串
但是我没有得到想要的结果。
| ID|年|月|famille|股票|在|出来|
| --|--|--|--|--|--|--|
| 573 | 2023 | 9 | 2 |-6个| 20 | 18 |
| 574 | 2023 | 10 | 2 | 1 | 18 | 21 |
| 575 | 2023 | 11 | 2 |-7个| 21 | 20 |
| 576 | 2023 | 12 | 2 | 2 | 25 | 20 |
根据我的要求,
| ID|年|月|famille|股票|在|出来|
| --|--|--|--|--|--|--|
| 573 | 2023 | 9 | 2 |-6个| 20 | 18 |
| 574 | 2023 | 10 | 2 | 0 | 18 | 21 |
| 575 | 2023 | 11 | 2 | 2 | 21 | 20 |
| 576 | 2023 | 12 | 2 |-2个| 25 | 20 |
但我想要这个:
| ID|年|月|famille|股票|在|出来|
| --|--|--|--|--|--|--|
| 573 | 2023 | 9 | 2 |-6个| 20 | 18 |
| 574 | 2023 | 10 | 2 |-3个| 18 | 21 |
| 575 | 2023 | 11 | 2 |-2个| 21 | 20 |
| 576 | 2023 | 12 | 2 | 3 | 25 | 20 |
我想减去(入-出)+前一行的库存量,你能帮我吗?
我想减去(in - out)+PostgreSQL中前一行的股票
1条答案
按热度按时间xuo3flqw1#
第一,股票的价值是正确的
字符串
这似乎不正确,但
这样看起来更好:
型
测试它:
型
产出:
| s_id| s年|s_month| s_famille| S股|s_in| s_out|
| --|--|--|--|--|--|--|
| 573 | 2023 | 9 | 2 |-6个| 20 | 18 |
| 574 | 2023 | 10 | 2 |-4个| 18 | 21 |
| 575 | 2023 | 11 | 2 |-2个| 21 | 20 |
| 576 | 2023 | 12 | 2 |-6个| 25 | 20 |
P.S.这些都不是你想要的价值,但似乎正确的/我..
参见:DBFIDDLE