遞歸查詢--經典
1.表結構:CREATE TABLE TEST.AREATB
(
ID NUMBER(6,0) NOT NULL,
AREANAME VARCHAR2(256),
PARENTAREAID NUMBER(6,0)
)
2.數據:
1 | 中國 | -1 |
2 | 北京 | 1 |
3 | 安徽 | 1 |
4 | 合肥 | 3 |
5 | 宣武區 | 2 |
3.SQL:語句
select id, areaname, substr(sys_connect_by_path(areaname,','),2)
from AREATB bb
start with parentareaid = -1
connect by parentareaid=prior id
4.結果:
1 | 中國 | 中國 |
2 | 北京 | 中國,北京 |
5 | 宣武區 | 中國,北京,宣武區 |
3 | 安徽 | 中國,安徽 |
4 | 合肥 | 中國,安徽,合肥 |
5.函數解釋:
sys_connect_by_path 函數主要作用是可以把一個父節點下的所有子節點通過某個字符進行區分,然后連接在一個列中顯示
posted on 2009-12-03 22:28 飛熊 閱讀(204) 評論(0) 編輯 收藏 所屬分類: ORACLE