2016-09-07 14 views
0

子ファクトリIDと各ファクトリの親ファクトリIDを下のフォーマットで格納したテーブル(dim_factory_relation)があります。子の親階層を選択するSQLクエリ

FK_CHILD_FACTORY_ID FK_PARENT_FACTORY_ID 
65      5 
66      5 
5      13 
10      13 
13      25 
13      40 
30      40 
40     100 
71      56 
72      56 
56     100 

ここで、下位の子ファクトリを渡すと、上位のレベルまで親のリストを提供する必要があります。例えば。私は子供の工場として65歳になります。それは私に与える必要があります

FK_PARENT_FACTORY_ID 
5 
13 
25 
40 
100 

Oracle SQLを使用してこれを取得する方法を手伝ってください。助けてくれてありがとう。

+0

あなたがしようとしたものを私達を示さなければならないとどのようにそれが失敗しました。無料のソースを要求しない –

+0

http://stackoverflow.com/questions/tagged/hierarchical-data+oracleまたはhttp://stackoverflow.com/questions/tagged/recursive-query+oracle –

答えて

3

使用connect by prior

select FK_PARENT_FACTORY_ID 
    from t 
start with FK_CHILD_FACTORY_ID = 65 
connect by prior FK_PARENT_FACTORY_ID=FK_CHILD_FACTORY_ID 

OUTPUT

    FK_PARENT_FACTORY_ID 
--------------------------------------- 
             5 
            13 
            25 
            40 
            100 
+1

すばらしい。ありがとう。それは動作します.. –

+1

私はおそらくSELECTにレベルを含めるでしょう - 結果セットには順序がありません、そして、祖先間の関係がこれが意味するどんな問題にも関連している(OPがそれを認識しなくても)解決する。 – mathguy

関連する問題