oracle sql 递归查询

项目进行中遇到这种的场景,一个表是父子结构表,关联关系依靠FATHER_ID来进行关联,形成树状节奏,现在已知一个节点的id,查询所有的子节点,oralce数据库提供了方法,传递id进去,查询所有子结构。
我们项目是权限控制查询需要,一个物料属于一个分类下,分类id值,可以是任意分类结构树任何节点的id,那么在根据分类查询物料的时候,我已知一个分类的id,肯定查询这个分类下的所有物料,这个时候就需要树状查询方式,查询出下属的所有分类id

#######话不多说,直接上slq!######

select * from   BASE_INFO E
where 1=1 
.....
.....
<if test="id != null and id != ''">
            AND EXISTS(SELECT* FROM (select * from ASSET_CLASS_INFO  start with id=#{id}
            connect by prior id = FATHER_ID) B WHERE E.EQU_CATEGORY_ID =B.ID)
        </if>

猜你喜欢

转载自blog.csdn.net/wujian_csdn_csdn/article/details/107510483