【问题标题】:How can I correctly sort an index (wbs)?如何正确排序索引(wbs)?
【发布时间】:2021-08-19 18:18:14
【问题描述】:

任何人都知道如何根据索引号(wbscode)对记录进行排序

如果我在 1.1.9 之后使用 ORDER BY,它不会继续 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 ORBER BY wbs :(

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    您可以使用数据类型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
    2
    

    【讨论】:

      猜你喜欢
      • 2017-04-12
      • 2018-01-24
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      相关资源
      最近更新 更多