次のような階層を表す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コードでこれを行わなければならないという事実にすでに辞任しているので、ここでは「いいえ」の答えは完全に受け入れられます。