2017-08-07 135 views
0

这是我的查询来构建一个分层表,用于oracle bi 实际上我在我的主题领域使用它。 但有时当我钻取价值标签时,我的分析显示没有结果,但是当我使用标题标签进行钻取时,它工作正常! 也当我过滤水平其显示没有结果 你会请帮助我。在oracle数据库中创建分层表

with kol_power as 
(select level      lvl, 
     p.id, 
     p.parameter_name    title, 
     p.parent_system_parameter_id parentid, 
     p.ip       hierarchicode, 
     system_id 
    from EVAL_sys_paramter p 
    connect by prior id = parent_system_parameter_id 
    start with parent_system_parameter_id is null), 
l1 as 
(select * from kol_power where lvl = 1), 
l2 as 
(select * 
    from kol_power k 
    where k.lvl = 2 
    and (parentid, system_id) in (select id, system_id from l1)), 
l3 as 
(select * 
    from kol_power k 
    where k.lvl = 3 
    and (parentid, system_id) in (select id, system_id from l2)), 
l4 as 
(select * 
    from kol_power k 
    where k.lvl = 4 
    and (parentid, system_id) in (select id, system_id from l3)), 
l5 as 
(select * 
    from kol_power k 
    where k.lvl = 5 
    and (parentid, system_id) in (select id, system_id from l4)), 
l6 as 
(select * 
    from kol_power k 
    where k.lvl = 6 
    and (parentid, system_id) in (select id, system_id from l5)), 
l7 as 
(select * 
    from kol_power k 
    where k.lvl = 7 
    and (parentid, system_id) in (select id, system_id from l6)), 
l8 as 
(select * 
    from kol_power k 
    where k.lvl = 8 
    and (parentid, system_id) in (select id, system_id from l7)), 
l9 as 
(select * 
    from kol_power k 
    where k.lvl = 9 
    and (parentid, system_id) in (select id, system_id from l8)), 
r9 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     l5.id   l5_id, 
     l5.title   l5_title, 
     l5.hierarchicode l5_hierarchicode, 
     l6.id   l6_id, 
     l6.title   l6_title, 
     l6.hierarchicode l6_hierarchicode, 
     l7.id   l7_id, 
     l7.title   l7_title, 
     l7.hierarchicode l7_hierarchicode, 
     l8.id   l8_id, 
     l8.title   l8_title, 
     l8.hierarchicode l8_hierarchicode, 
     l9.id   l9_id, 
     l9.title   l9_title, 
     l9.hierarchicode l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4, l5, l6, l7, l8, l9 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id 
    and l5.parentid = l4.id 
    and l5.system_id = l4.system_id 
    and l6.parentid = l5.id 
    and l6.system_id = l5.system_id 
    and l7.parentid = l6.id 
    and l7.system_id = l6.system_id 
    and l8.parentid = l7.id 
    and l8.system_id = l7.system_id 
    and l9.parentid = l8.id 
    and l9.system_id = l8.system_id 

), 
r8 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     l5.id   l5_id, 
     l5.title   l5_title, 
     l5.hierarchicode l5_hierarchicode, 
     l6.id   l6_id, 
     l6.title   l6_title, 
     l6.hierarchicode l6_hierarchicode, 
     l7.id   l7_id, 
     l7.title   l7_title, 
     l7.hierarchicode l7_hierarchicode, 
     l8.id   l8_id, 
     l8.title   l8_title, 
     l8.hierarchicode l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4, l5, l6, l7, l8 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id 
    and l5.parentid = l4.id 
    and l5.system_id = l4.system_id 
    and l6.parentid = l5.id 
    and l6.system_id = l5.system_id 
    and l7.parentid = l6.id 
    and l7.system_id = l6.system_id 
    and l8.parentid = l7.id 
    and l8.system_id = l7.system_id), 
r7 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     l5.id   l5_id, 
     l5.title   l5_title, 
     l5.hierarchicode l5_hierarchicode, 
     l6.id   l6_id, 
     l6.title   l6_title, 
     l6.hierarchicode l6_hierarchicode, 
     l7.id   l7_id, 
     l7.title   l7_title, 
     l7.hierarchicode l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4, l5, l6, l7 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id 
    and l5.parentid = l4.id 
    and l5.system_id = l4.system_id 
    and l6.parentid = l5.id 
    and l6.system_id = l5.system_id 
    and l7.parentid = l6.id 
    and l7.system_id = l6.system_id), 
r6 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     l5.id   l5_id, 
     l5.title   l5_title, 
     l5.hierarchicode l5_hierarchicode, 
     l6.id   l6_id, 
     l6.title   l6_title, 
     l6.hierarchicode l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4, l5, l6 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id 
    and l5.parentid = l4.id 
    and l5.system_id = l4.system_id 
    and l6.parentid = l5.id 
    and l6.system_id = l5.system_id) 

, 
r5 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     l5.id   l5_id, 
     l5.title   l5_title, 
     l5.hierarchicode l5_hierarchicode, 
     null    l6_id, 
     null    l6_title, 
     null    l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4, l5 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id 
    and l5.parentid = l4.id 
    and l5.system_id = l4.system_id) 

, 
r4 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     l4.id   l4_id, 
     l4.title   l4_title, 
     l4.hierarchicode l4_hierarchicode, 
     null    l5_id, 
     null    l5_title, 
     null    l5_hierarchicode, 
     null    l6_id, 
     null    l6_title, 
     null    l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3, l4 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id 
    and l4.parentid = l3.id 
    and l4.system_id = l3.system_id) 

, 
r3 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     l3.id   l3_id, 
     l3.title   l3_title, 
     l3.hierarchicode l3_hierarchicode, 
     null    l4_id, 
     null    l4_title, 
     null    l4_hierarchicode, 
     null    l5_id, 
     null    l5_title, 
     null    l5_hierarchicode, 
     null    l6_id, 
     null    l6_title, 
     null    l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2, l3 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id 
    and l3.parentid = l2.id 
    and l3.system_id = l2.system_id) 

, 
r2 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     l2.id   l2_id, 
     l2.title   l2_title, 
     l2.hierarchicode l2_hierarchicode, 
     null    l3_id, 
     null    l3_title, 
     null    l3_hierarchicode, 
     null    l4_id, 
     null    l4_title, 
     null    l4_hierarchicode, 
     null    l5_id, 
     null    l5_title, 
     null    l5_hierarchicode, 
     null    l6_id, 
     null    l6_title, 
     null    l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l2.system_id 
    from l1, l2 
    where l2.parentid = l1.id 
    and l2.system_id = l1.system_id) 

, 
r1 as 
(select l1.id   l1_id, 
     l1.title   l1_title, 
     l1.hierarchicode l1_hierarchicode, 
     null    l2_id, 
     null    l2_title, 
     null    l2_hierarchicode, 
     null    l3_id, 
     null    l3_title, 
     null    l3_hierarchicode, 
     null    l4_id, 
     null    l4_title, 
     null    l4_hierarchicode, 
     null    l5_id, 
     null    l5_title, 
     null    l5_hierarchicode, 
     null    l6_id, 
     null    l6_title, 
     null    l6_hierarchicode, 
     null    l7_id, 
     null    l7_title, 
     null    l7_hierarchicode, 
     null    l8_id, 
     null    l8_title, 
     null    l8_hierarchicode, 
     null    l9_id, 
     null    l9_title, 
     null    l9_hierarchicode, 
     l1.system_id 
    from l1) 

select l9_id     ID, 
     l9_title    lvl_title, 
     l9_hierarchicode  hierarchicode, 
     9      lvl, 
     r9."L1_ID", 
     r9."L1_TITLE", 
     r9."L1_HIERARCHICODE", 
     r9."L2_ID", 
     r9."L2_TITLE", 
     r9."L2_HIERARCHICODE", 
     r9."L3_ID", 
     r9."L3_TITLE", 
     r9."L3_HIERARCHICODE", 
     r9."L4_ID", 
     r9."L4_TITLE", 
     r9."L4_HIERARCHICODE", 
     r9."L5_ID", 
     r9."L5_TITLE", 
     r9."L5_HIERARCHICODE", 
     r9."L6_ID", 
     r9."L6_TITLE", 
     r9."L6_HIERARCHICODE", 
     r9."L7_ID", 
     r9."L7_TITLE", 
     r9."L7_HIERARCHICODE", 
     r9."L8_ID", 
     r9."L8_TITLE", 
     r9."L8_HIERARCHICODE", 
     r9."L9_ID", 
     r9."L9_TITLE", 
     r9."L9_HIERARCHICODE", 
     r9."SYSTEM_ID" 
    from r9 

union all 
select l8_id, 
     l8_title, 
     l8_hierarchicode, 
     8, 
     r8."L1_ID", 
     r8."L1_TITLE", 
     r8."L1_HIERARCHICODE", 
     r8."L2_ID", 
     r8."L2_TITLE", 
     r8."L2_HIERARCHICODE", 
     r8."L3_ID", 
     r8."L3_TITLE", 
     r8."L3_HIERARCHICODE", 
     r8."L4_ID", 
     r8."L4_TITLE", 
     r8."L4_HIERARCHICODE", 
     r8."L5_ID", 
     r8."L5_TITLE", 
     r8."L5_HIERARCHICODE", 
     r8."L6_ID", 
     r8."L6_TITLE", 
     r8."L6_HIERARCHICODE", 
     r8."L7_ID", 
     r8."L7_TITLE", 
     r8."L7_HIERARCHICODE", 
     r8."L8_ID", 
     r8."L8_TITLE", 
     r8."L8_HIERARCHICODE", 
     r8."L9_ID", 
     r8."L9_TITLE", 
     r8."L9_HIERARCHICODE", 
     r8."SYSTEM_ID" 
    from r8 
union all 

select l7_id, 
     l7_title, 
     l7_hierarchicode, 
     7, 
     r7."L1_ID", 
     r7."L1_TITLE", 
     r7."L1_HIERARCHICODE", 
     r7."L2_ID", 
     r7."L2_TITLE", 
     r7."L2_HIERARCHICODE", 
     r7."L3_ID", 
     r7."L3_TITLE", 
     r7."L3_HIERARCHICODE", 
     r7."L4_ID", 
     r7."L4_TITLE", 
     r7."L4_HIERARCHICODE", 
     r7."L5_ID", 
     r7."L5_TITLE", 
     r7."L5_HIERARCHICODE", 
     r7."L6_ID", 
     r7."L6_TITLE", 
     r7."L6_HIERARCHICODE", 
     r7."L7_ID", 
     r7."L7_TITLE", 
     r7."L7_HIERARCHICODE", 
     r7."L8_ID", 
     r7."L8_TITLE", 
     r7."L8_HIERARCHICODE", 
     r7."L9_ID", 
     r7."L9_TITLE", 
     r7."L9_HIERARCHICODE", 
     r7."SYSTEM_ID" 
    from r7 
union all 

select l6_id, 
     l6_title, 
     l6_hierarchicode, 
     6, 
     r6."L1_ID", 
     r6."L1_TITLE", 
     r6."L1_HIERARCHICODE", 
     r6."L2_ID", 
     r6."L2_TITLE", 
     r6."L2_HIERARCHICODE", 
     r6."L3_ID", 
     r6."L3_TITLE", 
     r6."L3_HIERARCHICODE", 
     r6."L4_ID", 
     r6."L4_TITLE", 
     r6."L4_HIERARCHICODE", 
     r6."L5_ID", 
     r6."L5_TITLE", 
     r6."L5_HIERARCHICODE", 
     r6."L6_ID", 
     r6."L6_TITLE", 
     r6."L6_HIERARCHICODE", 
     r6."L7_ID", 
     r6."L7_TITLE", 
     r6."L7_HIERARCHICODE", 
     r6."L8_ID", 
     r6."L8_TITLE", 
     r6."L8_HIERARCHICODE", 
     r6."L9_ID", 
     r6."L9_TITLE", 
     r6."L9_HIERARCHICODE", 
     r6."SYSTEM_ID" 
    from r6 
union all 

select l5_id, 
     l5_title, 
     l5_hierarchicode, 
     5, 
     r5."L1_ID", 
     r5."L1_TITLE", 
     r5."L1_HIERARCHICODE", 
     r5."L2_ID", 
     r5."L2_TITLE", 
     r5."L2_HIERARCHICODE", 
     r5."L3_ID", 
     r5."L3_TITLE", 
     r5."L3_HIERARCHICODE", 
     r5."L4_ID", 
     r5."L4_TITLE", 
     r5."L4_HIERARCHICODE", 
     r5."L5_ID", 
     r5."L5_TITLE", 
     r5."L5_HIERARCHICODE", 
     r5."L6_ID", 
     r5."L6_TITLE", 
     r5."L6_HIERARCHICODE", 
     r5."L7_ID", 
     r5."L7_TITLE", 
     r5."L7_HIERARCHICODE", 
     r5."L8_ID", 
     r5."L8_TITLE", 
     r5."L8_HIERARCHICODE", 
     r5."L9_ID", 
     r5."L9_TITLE", 
     r5."L9_HIERARCHICODE", 
     r5."SYSTEM_ID" 
    from r5 
union all 

select l4_id, 
     l4_title, 
     l4_hierarchicode, 
     4, 
     r4."L1_ID", 
     r4."L1_TITLE", 
     r4."L1_HIERARCHICODE", 
     r4."L2_ID", 
     r4."L2_TITLE", 
     r4."L2_HIERARCHICODE", 
     r4."L3_ID", 
     r4."L3_TITLE", 
     r4."L3_HIERARCHICODE", 
     r4."L4_ID", 
     r4."L4_TITLE", 
     r4."L4_HIERARCHICODE", 
     r4."L5_ID", 
     r4."L5_TITLE", 
     r4."L5_HIERARCHICODE", 
     r4."L6_ID", 
     r4."L6_TITLE", 
     r4."L6_HIERARCHICODE", 
     r4."L7_ID", 
     r4."L7_TITLE", 
     r4."L7_HIERARCHICODE", 
     r4."L8_ID", 
     r4."L8_TITLE", 
     r4."L8_HIERARCHICODE", 
     r4."L9_ID", 
     r4."L9_TITLE", 
     r4."L9_HIERARCHICODE", 
     r4."SYSTEM_ID" 
    from r4 
union all 

select l3_id, 
     l3_title, 
     l3_hierarchicode, 
     3, 
     r3."L1_ID", 
     r3."L1_TITLE", 
     r3."L1_HIERARCHICODE", 
     r3."L2_ID", 
     r3."L2_TITLE", 
     r3."L2_HIERARCHICODE", 
     r3."L3_ID", 
     r3."L3_TITLE", 
     r3."L3_HIERARCHICODE", 
     r3."L4_ID", 
     r3."L4_TITLE", 
     r3."L4_HIERARCHICODE", 
     r3."L5_ID", 
     r3."L5_TITLE", 
     r3."L5_HIERARCHICODE", 
     r3."L6_ID", 
     r3."L6_TITLE", 
     r3."L6_HIERARCHICODE", 
     r3."L7_ID", 
     r3."L7_TITLE", 
     r3."L7_HIERARCHICODE", 
     r3."L8_ID", 
     r3."L8_TITLE", 
     r3."L8_HIERARCHICODE", 
     r3."L9_ID", 
     r3."L9_TITLE", 
     r3."L9_HIERARCHICODE", 
     r3."SYSTEM_ID" 
    from r3 
union all 

select l2_id, 
     l2_title, 
     l2_hierarchicode, 
     2, 
     r2."L1_ID", 
     r2."L1_TITLE", 
     r2."L1_HIERARCHICODE", 
     r2."L2_ID", 
     r2."L2_TITLE", 
     r2."L2_HIERARCHICODE", 
     r2."L3_ID", 
     r2."L3_TITLE", 
     r2."L3_HIERARCHICODE", 
     r2."L4_ID", 
     r2."L4_TITLE", 
     r2."L4_HIERARCHICODE", 
     r2."L5_ID", 
     r2."L5_TITLE", 
     r2."L5_HIERARCHICODE", 
     r2."L6_ID", 
     r2."L6_TITLE", 
     r2."L6_HIERARCHICODE", 
     r2."L7_ID", 
     r2."L7_TITLE", 
     r2."L7_HIERARCHICODE", 
     r2."L8_ID", 
     r2."L8_TITLE", 
     r2."L8_HIERARCHICODE", 
     r2."L9_ID", 
     r2."L9_TITLE", 
     r2."L9_HIERARCHICODE", 
     r2."SYSTEM_ID" 
    from r2 
union all 
select l1_id, 
     l1_title, 
     l1_hierarchicode, 
     1, 
     r1."L1_ID", 
     r1."L1_TITLE", 
     r1."L1_HIERARCHICODE", 
     r1."L2_ID", 
     r1."L2_TITLE", 
     r1."L2_HIERARCHICODE", 
     r1."L3_ID", 
     r1."L3_TITLE", 
     r1."L3_HIERARCHICODE", 
     r1."L4_ID", 
     r1."L4_TITLE", 
     r1."L4_HIERARCHICODE", 
     r1."L5_ID", 
     r1."L5_TITLE", 
     r1."L5_HIERARCHICODE", 
     r1."L6_ID", 
     r1."L6_TITLE", 
     r1."L6_HIERARCHICODE", 
     r1."L7_ID", 
     r1."L7_TITLE", 
     r1."L7_HIERARCHICODE", 
     r1."L8_ID", 
     r1."L8_TITLE", 
     r1."L8_HIERARCHICODE", 
     r1."L9_ID", 
     r1."L9_TITLE", 
     r1."L9_HIERARCHICODE", 
     r1."SYSTEM_ID" 
    from r1 

/*union all 
select -1,'????' , 2, 
    l1_id l1_id, 
     '???? ???????? ?????? ??????' l1_title, 
     -1,'????', 
     null  l3_id, 
     null  l3_title, 
     null  l4_id, 
     null  l4_title, 
     null  l5_id, 
     null  l5_title, 
     null  l6_id, 
     null  l6_title, 
     null  l7_id, 
     null  l7_title, 
     null  l8_id, 
     null  l8_title, 
     null  l9_id, 
     null  l9_title from 
r1;*/; 

回答

0

你要做的就是某种pivot。这可以通过递归CTE来实现,但是您需要Oracle 11或更高版本。请试试这个查询:

with eval_sys_paramter as (
    -- sample test data 
    select 1 id, 'P1' parameter_name, null parent_system_parameter_id, 
      '255.255.255.1' ip, 'S1' system_id from dual union all 
    select 11 id, 'P11' parameter_name, 1 parent_system_parameter_id, 
      '255.255.255.11' ip, 'S1' system_id from dual union all 
    select 12 id, 'P12' parameter_name, 1 parent_system_parameter_id, 
      '255.255.255.12' ip, 'S1' system_id from dual union all 
    select 121 id, 'P121' parameter_name, 12 parent_system_parameter_id, 
      '255.255.255.121' ip, 'S1' system_id from dual), 
-- your query starts here, uncomment "with" 
/* with */ t (lvl, id, ttl, pid, sid, 
     i1, t1, p1, 
     i2, t2, p2, 
     i3, t3, p3) as (
    select 1, id, parameter_name, ip, system_id, 
      id i1, parameter_name t1, ip p1, 
      cast (null as number) i2, null t2, null p2, 
      cast (null as number) i3, null t3, null p3 
     from eval_sys_paramter where parent_system_parameter_id is null 
    union all 
    select lvl + 1, 
      e.id, e.parameter_name, e.ip, e.system_id, 
      -- level 1 
      t.i1, t.t1, t.p1, 
      -- level 2 
      case lvl + 1 when 2 then e.id    else t.i2 end, 
      case lvl + 1 when 2 then e.parameter_name else t.t2 end, 
      case lvl + 1 when 2 then e.ip    else t.p2 end, 
      -- level 3 
      case lvl + 1 when 3 then e.id    else t.i3 end, 
      case lvl + 1 when 3 then e.parameter_name else t.t3 end, 
      case lvl + 1 when 3 then e.ip    else t.p3 end 
     from t join eval_sys_paramter e 
       on e.system_id = t.sid 
       and e.parent_system_parameter_id = t.id) 
select * from t 

添加4-9层的相似零件。