需要有关生成SQL查询的建议

时间:2017-03-30 06:56:25

标签: sql oracle oracle9i

我们在表格中有以下类型的记录:

table_example:

id|desc|is_parent_record|parent_id
1|parent record|yes|
2|child record|no|1
3|standalone record|no

我们希望以下面的格式检索所有记录

id|parent id|desc
1| |parent record
2|1|child record
3| |no parent, standalone record

有关生成SQL查询的任何建议和帮助吗?

谢谢, 拉杰什

1 个答案:

答案 0 :(得分:0)

使用case whenconnect_by_isleaf的简单分层查询:

select id, parent_id, 
       case when level = 1 and connect_by_isleaf = 1 
            then 'no parent, '||descr 
            else descr
       end descr
  from t
  connect by prior id = parent_id
  start with parent_id is null

<强> demo

    ID  PARENT_ID DESCR
------ ---------- ----------------------------
     1            parent record
     2          1 child record
     3            no parent, standalone record