Oracle中connect by用法示例


在工作中常常會遇到一些數據表包含父子關系的數據,比如行業、地區等等,如果需要將其節點按父子關系一步一步列出來,就需要使用connect by了。

如有由自身行業代碼basecode和父行業代碼parentcode構成父子關系的行業表tindustry:

如果想獲取“\申萬明細行業\農林牧漁\林業”這樣詳細的行業樹,就需要使用如下查詢:

SELECT BASECODE, SYS_CONNECT_BY_PATH(BASECODE, '\') AS INDU_CODE,
       SYS_CONNECT_BY_PATH(BASENAME, '\') AS INDU_NAME
FROM   TINDUSTRY
START  WITH PARENTCODE IS NULL
CONNECT BY PRIOR BASECODE = PARENTCODE;

 

start with為起始的節點,connect by為父子關系。

查詢結果為如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM