sql - Flattening a hierarchial data set in Oracle -


i have set of data shown below

treename date       level parentnode    childnode grn_kk   9/1/2012   1     null          allaccount grn_kk   9/1/2012   2     allaccount     52000 grn_kk   9/1/2012   2     allaccount     59900 grn_kk   9/1/2012   3     52000       54311 grn_kk   9/1/2012   3     52000       50100 grn_kk   9/1/2012   3     52000       54345 grn_kk   9/1/2012   3     52000       54346 grn_kk   9/1/2012   3     52000       54347 grn_kk   9/1/2012   4     50100       50151 

i need flatten data below:

grn_kk         9/2/2012     allaccount           52000 grn_kk         9/2/2012     allaccount           52000      54311 grn_kk         9/2/2012     allaccount           52000      50100 grn_kk         9/2/2012     allaccount           52000      50100     50151 grn_kk         9/2/2012     allaccount           59900 

and on.

i can have 30 parent child relationship

i used connect , sys_connect_by_path follows

    select a.tree_name,a.effdt,a.parent_node_name,a.tree_node, sys_connect_by_path(a.tree_node, '/') pstreenode a.tree_name = 'mda_grn_kk' , a.effdt = (   select max(a1.effdt)    pstreenode a1   a.setid = a1.setid     , a.setcntrlvalue = a1.setcntrlvalue     , a.tree_name = a1.tree_name     , a.tree_node_num = a1.tree_node_num     , a.tree_node = a1.tree_node     , a.tree_branch = a1.tree_branch     , a1.effdt <= sysdate) connect nocycle prior  a.tree_node = a.parent_node_name; 

the result set large. there other trees in table , don't think looks @ specified tree_name. diving me sorts of combinations.

can please me this

thanks in advance

if want see tree 'mda_grn_kk' that's "root" of hierarchy. specify root using start with clause. put right before connect by:

... beginning of query ... start a.tree_name = 'mda_grn_kk' connect nocycle prior  a.tree_node = a.parent_node_name 

Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -