我们有一个 Oracle 自引用表来表示类似于以下的层次结构:
THING
---------
ID
PARENT_ID
NAME
SOME_DATA
顶层THING
有一个null
PARENT_ID
.
我希望能够从此表中进行选择,并按层次结构中每一行的位置(从上到下)对数据进行排序,然后按名称对数据集进行排序:
ID PARENT_ID NAME SOME_DATA
1 null top null
2 1 cat null
3 1 dog null
4 2 frog null
5 1 bird null
6 2 fish null
...变成:
ID PARENT_ID NAME SOME_DATA
1 null top null
5 1 bird null
2 1 cat null
6 2 fish null
4 2 frog null
3 1 dog null
当我开始输入这个问题时,我很好奇是否有办法在不向LEVEL
表中添加列的情况下执行此操作,但现在我什至不确定是否可以通过添加该列来完成。
在这里,“否”的答案是完全可以接受的,因为我已经接受了我将不得不在我的 Java 代码中执行此操作的事实。