任何人都知道如何根据它们的索引号(wbscode)对记录进行排序。
如果我在1.1.9之后使用ORDER,它不会继续将1.1.10更改为1.2,我无法找到一种正确的方法来执行连续的顺序。
有人知道一种正确的方法
1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
1.1.11
1.2
1.2.1
2
.
从房屋中选择wbs :(

发布于 2021-08-19 18:22:39
您可以使用数据类型hierarchyid。
示例
Declare @YourTable Table ([WBSCode] varchar(50))
Insert Into @YourTable Values
('1')
,('1.1.1')
,('1.1.2')
,('1.1.3')
,('1.1.4')
,('1.1.5')
,('1.1.6')
,('1.1.7')
,('1.1.8')
,('1.1.9')
,('1.1.10')
,('1.1.11')
,('1.2')
,('1.2.1')
,('2')
Select *
from @YourTable
order by convert(hierarchyID,'/'+replace(WBSCode,'.','/')+'/')结果
WBSCode
1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
1.1.11
1.2
1.2.1
2https://stackoverflow.com/questions/68852836
复制相似问题