Microsoft SQL Server (T-SQL):
我有一个包含当前价格和先前价格的数据集。我希望结果将前一个日期的前一个当前价格作为我选择语句中的前一个价格。
不使用临时表/表变量,不使用更新语句。
我会使用 CTE 吗?
当前结果集:
商品编号 | 当前价格 | 之前的价格 | 日期 |
---|---|---|---|
24-6357-000587 | 25 | 0 | 20050506 |
24-6357-000587 | 35 | 0 | 20200106 |
30-2000-003001 | 54 | 0 | 20220106 |
30-2000-003001 | 80 | 0 | 20220701 |
70-5127-005231 | 100 | 0 | 20230301 |
70-5127-005321 | 160 | 0 | 20230406 |
应该是结果集:
商品编号 | 当前价格 | 之前的价格 | 日期 |
---|---|---|---|
24-6357-000587 | 25 | 0 | 20050506 |
24-6357-000587 | 35 | 25 | 20200106 |
30-2000-003001 | 54 | 0 | 20220106 |
30-2000-003001 | 80 | 54 | 20220701 |
70-5127-005231 | 100 | 0 | 20230301 |
70-5127-005321 | 160 | 100 | 20230406 |