|
|
1
1
在我看来,您似乎希望对层次结构进行扁平化和排序,获得这种排序的最便宜的方法是在表中存储一个具有完整路径的额外列。
Name | Full Path Free Stuff | Free Stuff aa2 | Free Stuff - aa2 一旦你存储了完整的路径,你就可以在上面订购。 如果你只有一个深度,你可以通过一个子查询(及其顺序)自动生成一个字符串,但当它变深时,这个解决方案就不那么容易工作了。 另一种选择是将其全部移动到临时表中,并根据需要计算那里的完整路径。但它相当昂贵。 |
|
|
2
4
您可以使表按父名称和子名称进行排序。
|
|
|
3
2
好的,我们开始吧:
结果:
|
|
|
5
1
在这里,您有一个使用重铺公共表表达式的完整工作示例。
|
|
|
6
1
值得注意的是,此表达式不能使用任何索引。这意味着对一张大桌子进行排序会很慢。 |
|
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 2 年前 |
|
|
Nick Fleetwood · 调度语法的LINQ查询 3 年前 |
|
|
Mateen Bagheri · 选择表的计数并选择其自身 3 年前 |
|
Java · 使用交叉应用同时显示两列 3 年前 |