ITPub博客

首页 > 数据库 > Oracle > 树型结构start with..........connect by prior

树型结构start with..........connect by prior

原创 Oracle 作者:pwz1688 时间:2009-03-30 15:02:21 0 删除 编辑
刚刚一同事问我,知道一个行政区划代码,如何求这个行政区划的上级和下级所有行政区划,脑海中有start with...prior这种树型求法,查看之前的笔记后,拿监管的pa50做测试如下:[@more@]

一.求株洲市的上级行政区划

select a.aab301,a.apa133
from pa50 a
start with a.aab301 = '430200'
connect by a.aab301 = prior a.apa132;

--运行结果:

AAB301 APA133

1 430200 株洲市
2 430000 湖南省
3 100000 全国

二.求株洲市的下级行政区划

select a.aab301,a.apa133
from pa50 a
start with a.aab301 = '430200'
connect by a.apa132 = prior a.aab301

--运行结果:

AAB301 APA133

1 430200 株洲市
2 430225 株洲市炎陵县
3 430203 株洲市芦淞区
4 430299 株洲市市本级
5 430202 株洲市荷塘区
6 430204 株洲市石峰区
7 430211 株洲市天元区
8 430221 株洲市株洲县
9 430223 株洲市攸县
10 430224 株洲市茶陵县
11 430281 株洲市醴陵市
12 430201 株洲市市辖区

附:pa50的表结构

SQL> desc pa50;
Name Type Nullable Default Comments
------ ------------- -------- ------- --------------------------------------------------------------------------
AAB301 VARCHAR2(6) Y 本节点ID
APA132 VARCHAR2(6) Y 父节点
APA133 VARCHAR2(100) Y 行政区划名
APA134 NUMBER(1) Y 节点级别(劳动部 1 各省市 2 级 地级市 3 ,县,市辖区 4
APA135 VARCHAR2(3) Y 地区标志

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21251711/viewspace-1019593/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 学习chr(0)
请登录后发表评论 登录
全部评论

注册时间:2009-03-30

  • 博文量
    106
  • 访问量
    736061