Oracle查詢直觀展示樹形結構資料

2022-06-16 15:57:15 字數 1131 閱讀 3894

針對樹形結構資料為了展現其直觀層級結構的**

資料樣式及展示結果如圖:

結果圖:

解析:1.使用臨時表自關聯新增級別,臨時表資料如下查詢:

select t.trid, t.trname, t.prtrid, level le

from t_test_tree t

start with t.prtrid=0

connect by prior t.trid = t.prtrid

2.根據級別層級關聯設定字段展現資料:

with

temp1 as (select t.trid, t.trname, t.prtrid, level le

from t_test_tree t

start with t.prtrid=0

connect by prior t.trid = t.prtrid)

select a.prtrid trid0,a.trid trid1,a.trname trname1,b.trid trid2,b.trname trname2

,c.trid trid3,c.trname trname3,d.trid trid4,d.trname trname4,nvl(nvl2(d.trid,d.trid,c.trid),b.trid) trid,

nvl(nvl2(d.trname,d.trname,c.trname),b.trname) trname

from temp1 a,temp1 b,temp1 c,temp1 d

where 1=1

and a.trid=b.prtrid(+)

and b.trid=c.prtrid(+)

and c.trid=d.prtrid(+)

and a.le(+)=1

and b.le(+)=2

and c.le(+)=3

and d.le(+)=4

order by a.trid,b.trid,c.trid,d.trid

;

Oracle樹形查詢

基本語法 select.from tabename start with cond1 connect by prior cond2 where cond2 注 cond1是根節點的限定語句 cond2是連線條件,其中prior表示上一條記錄,指該記錄的父親是上一條記錄 cond3是過濾條件 構造環境...

oracle 樹形查詢

1.1 簡單的樹形查詢 select empno as 員工編碼,ename as 姓名,mgr as 主管,prior ename as 主管姓名 1.2 根節點,分支節點,葉節點 level 返回所在的等級 connect by isleaf 如果當前節點下沒有其他節點返回1,其他返回0。sel...

ORACLE樹形結構查詢

在oracle資料庫查詢中,我們經常會遇到對樹型結構表的查詢,這是個麻煩的問題。下面給大家介紹一種sql語句,實現遞迴查詢。語法如下 select 欄位1,欄位2,欄位3,from 表名 start with 條件1 connect by prior 條件2 where 條件3 下面舉乙個例子,有這...