1

私は階層クエリを初めて使用し、それに関するほとんどの投稿を確認しました。

改善したい質問があります。

私のシナリオは次のようなものです:

Sample
-------
ID,  
NAME,  
PARENT_ID  

表データは次のとおりです。

ID    NAME   PARENT_ID  
-----------------------
1     A    (null)  
2     B    1    
3     C    2    
4     D    1    

結果を次のようにしたい:

ID    NAME    PARENT_ID    IS_LEAF    LEVEL   DIRECT_CHILDREN_COUNT  
-------------------------------------------------------------------
1      A        (null)       0         1      2
2      B        1            0         2      1
3      C        2            1         3      0
4      D        1            1         2      0

DIRECT_CHILDREN_COUNT を除くすべての列を提供する次のクエリを作成しました

SELECT ID, NAME, PARENT_ID, CONNECT_BY_LEAF AS IS_LEAF, LEVEL FROM SAMPLE 
START WITH PARENT_ID = null CONNECT BY PRIOR ID = PARENT_ID

ノードのすべての子 (直接の子だけでなく) の数を取得する方法に関する多くの投稿がありますが、それらは私には当てはまりません。

1.直接の子の数のみが必要です。2.可能であれば、 joins
を使用せずにこれを達成したいと考えています。

直接の子を各レコードの列値としてカウントする方法がわかりません。とにかく、階層クエリを使用して DIRECT_CHILDREN_COUNT を取得できますか?

4

0 に答える 0