在使用CTE编写查询时,我试图命令具有特定数据类型的所有各种级别的子元素。在数据库中有一个“显示顺序”列,我用它来提取父显示顺序并将其连接到子项的显示顺序。结果列是一个混合长度的项目数组,从父级到子级显示上级显示顺序,见下文:
DISPLAYORDER
10-0
11-0
12-0
13-0
2-0-0
2-1-2-0
2-1-3-0
2-1-4-0
3-1
3-2
3-2-4-0
4-0-1
4-1-1
4-2-0
4-3-0
4-4-0
5-0
6-0
7-0
8-0
9-0
上面的数据已按顺序排序,但不幸的是因为我必须从int转换为varchar以便连接,我已经重新引入了在尝试排序时可能发生的“1,10,11,2”问题。有什么解决方法可以在排序时将前四行(10-0到13-0)移到底部?
答案 0 :(得分:0)
左键将你的数字用零填充,使2-1-2-0成为02-01-02-00,如果你的序数大于99填充到三个字符宽,002-001-002-000