Oracle 递归查询

来源:互联网 发布:北大软微就业数据 编辑:程序博客网 时间:2024/05/22 07:08

如递归查询 : VLD_SITE 为单位表,1级单位, 共有n级单位,如:如何查询某3级单位下的所有单位

表结构设计

create table t2

{

   VLD_SITE_ID  主键 

   VLD_PARENT_SITE_ID  上级单位id
   HIERARCHY_LEVEL     级别

}

如:如何查某3级单位下的所有单位? 查询语句如下(假如该单位id为10)  

SELECT VLD_SITE_ID FROM  VLD_SITE 

START WITH  VLD_SITE_ID=10

CONNECT BY PRIOR VLD_SITE_ID=VLD_PARENT_SITE_ID

(prior 实现递归查询

 反过来:如何查询某基层单位所属的二、三级单位

SELECT VLD_SITE_ID FROM  VLD_SITE 
WHERE HIERARCHY_LEVEL=2
START WITH VLD_SITE_ID=5233700
CONNECT BY PRIOR VLD_PARENT_SITE_ID=VLD_SITE_ID(把递归条件反过来)



原创粉丝点击