您的位置:首页 > 数据库 > Oracle

oracle、子句实现递归查询

2015-07-15 10:18 316 查看
直接上代码:

    表:resource_types(id, father_type_id,name)

    select  t.id resource_type_id,      

   SUBSTR(translate(SYS_CONNECT_BY_PATH(translate(t.name,'-','tmp_'),'-'),'tmp_','-'),2) resource_type_name          

   from resource_types t    

   start with t.father_type_id is null          

   connect by t.father_type_id = prior t.id

结果集:

resource_type_id   resource_type_name

2                            黑色金属矿产品

3                            黑色金属矿产品-铁矿石

4                            黑色金属矿产品-铁矿石-磁铁矿

5                            黑色金属矿产品-铁矿石-赤铁矿

6                            黑色金属矿产品-铁矿石-褐铁矿

7                            黑色金属矿产品-铁矿石-菱铁矿

8                            黑色金属矿产品-锰矿石

9                            黑色金属矿产品-锰矿石-水锰矿

10                          黑色金属矿产品-锰矿石-褐锰矿

11                          黑色金属矿产品-锰矿石-软锰矿

12                          黑色金属矿产品-锰矿石-硬锰矿
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle 递归