如递归查询 : 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=10CONNECT 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(把递归条件反过来)