如果SortKey“ 3”中的“ simon”和SortKey“ 5”中的“ josef”完成并退出,那么ID号3、5会保留。
但排序键已删除
我要在SortKey中与新成员一起重建并保持工作状态
表名称:TblMaster 示例字段:
-----------------------
ID SortKey Name
-----------------------
1- 1 john
2- 2 steve
3- 3 simon
4- 4 onil
5- 5 josef
6- 6 mohamed
7- 7 ebraham
-----------------------
需要像
一样进行更改-----------------------
ID SortKey Name
-----------------------
1- 1 john
2- 2 steve
3- simon
4- 3 onil
5- josef
6- 4 mohamed
7- 5 ebraham
-----------------------
我们谈论5000名员工 如何使用新排序的
更新所有SortKey感谢您的帮助
答案 0 :(得分:0)
也许一种方法是两次更新。首先我们将相应的SortKey's
设为NULL,然后通过Row_Number()
创建新密钥(不包括NULL SortKey's
)
示例
Update YourTable set SortKey=null where ID in (3,5) -- Or whatever desired condition
;with cte as (
Select *
,NewKey = Row_Number() over (Order By SortKey)
From YourTable
Where SortKey is not null
)
Update cte Set SortKey=NewKey
更新后的表格
ID SortKey Name
1 1 john
2 2 steve
3 NULL simon
4 3 onil
5 NULL josef
6 4 mohamed
7 5 ebraham