【发布时间】:2019-10-09 05:16:51
【问题描述】:
我正在从表格中提取订单,每个订单都有状态和提前期。 订单从状态传递的确切顺序如下: “已放置”>“已确认”>“已发货”
行看起来像
id_order dsc_status lead
1 placed 8
1 confirmed 5
1 shipped 1
我需要返回:
id_order dsc_status lead iter
1 placed 8 0
1 placed 8 1
1 placed 8 2
1 placed 8 3
1 confirmed 5 0
1 confirmed 5 1
1 confirmed 5 2
1 confirmed 5 3
1 confirmed 5 4
1 shipped 1 0
1 shipped 1 1
逻辑: 在示例中,放置和确认之间的提前期差异为 3,因此我重复放置行 4 次(基于 0 的计数),确认 > 发货时相同。 对于已发货,我们会重复,就像后面跟着一个lead = 0 的虚构状态,这意味着我们重复了 2 次,请检查结果。
【问题讨论】:
-
“lead”中存储的内容。您说的是时间,但时间单位是什么?这是 24 小时制的一天中的一个小时吗?
标签: sql-server split rows