作者:凹凸曼00威威_694 | 来源:互联网 | 2014-07-09 16:02
Oracle树结构递归查询startwithconnectbyprior的用法SQL语句例子如下1selectdistinctid,name,TEST_TYPE,parentid2fromdb_TESTt3startwithname'系统'connectbypriort.paren...
Oracle树结构递归查询start with connect by prior的用法
SQL语句例子如下
1
select distinct id,name,TEST_TYPE,parentid
2
from db_TEST t
3
start with name='
系统' connect by prior t.parentid= id
4
order by id
查询出来的结果
01
1 0 default 0
02 www.2cto.com
2 1 电子 0 0
03
3 401 CRM 0 1
04
4 541 CSM6 0 1
05
5 542 CSM8 0 1
06
6 543 ANS 0 1
07
7 544 SEMI 0 1
08
8 582 系统 0 401
09
9 588 系统 1 582
10
10 835 系统 0 541
11
11 841 系统 0 542
12
12 847 系统 0 543
13
13 853 系统 0 544
14
14 862 系统 1 835
15
15 863 系统 1 841
16
16 864 系统 1 847
17
17 865 系统 1 853
www.2cto.com
ORACLE中,name字段内容是'系统'的,递归调出他的上层父节点
t.parentid为子节点的父节点ID指向,
使用start with name='系统' connect by prior t.parentid= id