欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle的多表树查询

程序员文章站 2022-07-15 07:57:50
...

    地区是树形结构,地区下面还有结构,即机构表中有一个地区ID字段。要把这两个东西组织在一起,挂在一棵树上。刚开始想得有点复杂了,先查出地区树然后遍历出每个地区下面的机构,再绑定这种关系。马上否决了这个想法,因为 1、很复杂 2、性能慢会成为大问题。

    实际上很简单的,我们把问题想复杂了,下面我贴出SQL,看下就明白了:

 

select *
  from (select area_id as id,
               area_name as text,
               area_parentid as pid,
               '0' as isOrg,
               'false' as isexpand
          from d_area a
        union
        select id,
               orgname as text,
               area_id as pid,
               '1' as isOrg,
               'false' as isexpand
          from ac_org b) t
 start with t.id = '49'
connect by t.pid = prior t.id;