我有一个带有库存报告的表,其中包含项目列表、位置、项目进入位置的日期:
例如下表:
- 物品1于2020年1月1日进入仓库1
- 2020年2月入库_1
- 三月份,物品进入wahrehouse_2(这意味着它从仓库1出来(
我需要建立一个每月每个仓库中有多少物品的摘要。我面临的挑战是,我没有结束日期栏,所以对于2020年2月,它是空白的,而它应该显示项目1仍在"中;仓库_ 1";
为此,我想添加一个";end_ date";从该项目的下一行开始计算日期的列(对于第1行,当物品移动到"仓库_2"时,结束日期是2020-03-01。
item_id | 日期 | 位置|
---|---|---|
第1项 | 2020-01-01 | 仓库_1 |
第1项 | 2020-03-01 | 仓库_2 |
第1项 | 2020-08-01 | 仓库_1 |
要计算end_date
,请使用lead()
:
select t.*,
lead(date) over (partition by item_id order by date) as end_date
from t;