【发布时间】:2019-11-20 08:02:47
【问题描述】:
我有一个包含 5 条记录的表格(总是按 ID 升序排列):
ID Sequence
1 1
2 2
3 3
4 4
8 3
9 3
所需的输出是:
ID Sequence
1 1
2 2
3 3
4 6
8 4
9 5
【问题讨论】:
-
你如何计算
ID = 8应该有Sequence = 4(等等)? -
@martin "如果 ID 为偶数且序列为奇数,则加 1 否则加 2,因为 id 大于 3?" :)
-
但 ID 会因每个场景而异。确切的情况是,我已经预定义了一组从定义的模板表中填充的记录。并且在此过程中,用户输入根据记录状态插入的临时记录(例如,临时记录应插入到最后一个正在进行的状态记录之后)在这种情况下,它是第 3 条记录作为第 4 条记录记录处于打开状态。用户添加了两次临时任务,这些记录的 ID 是 8 和 9。
-
添加的第一条临时记录是第三条记录的副本。同样,第二次添加的临时记录也是第三条记录的副本,因为两者都必须最后添加到正在进行的记录中,即第三条记录。我认为,上面的序列号有更正,最近的临时记录总是应该有序列号为 3+1。这意味着 ID=8 应该是 5,ID=9 应该是 4,ID=4 应该是 6。如果您有任何问题,请告诉我。感谢您的快速回复。
-
更新必须针对每个场景使用一个查询。
标签: sql sql-server sql-server-2017