db2查詢樹寫法

2021-08-26 01:12:59 字數 925 閱讀 3377

較oracle來說,db2的查詢樹寫法比較複雜,但是當你習慣以後,其實寫法也挺簡單的。

db2要自己寫遞迴,沒有提供相應的函式

create table tree

例子:with rpl (treesuperid, treeid, treename,level) as

(select root.treesuperid, root.treeid, root.treename,1 from tree root where root.treeid='120000'

union all

select child.treesuperid, child.treeid, child.treename,parent.level+1 from rpl parent, tree child where parent.treeid= child.treesuperid

) select rpl.treesuperid, rpl.treeid, rpl.treename from rpl where level =2

這個sql是取的第二級樹。

如果要取完整的樹的話,用下面sql

with rpl (treesuperid, treeid, treename) as

(select root.treesuperid, root.treeid, root.treename from tree root where root.treeid='120000'

union all

select child.treesuperid, child.treeid, child.treename from rpl parent, tree child where parent.treeid= child.treesuperid

) select rpl.treesuperid, rpl.treeid, rpl.treename from rpl

DB2 遞迴SQL寫法

with temptab pro komcode,pro komcode o,pro sup code as select root.pro komcode,root.pro komcode o,root.pro sup code from product root where pro komcod...

DB2遞迴查詢

遞迴 sql 在 db2 中通過公共表表示式 cte,common table expression 來實現。遞迴 sql 由遞迴 cte 以及對遞迴 cte 結果的查詢組成。那什麼是遞迴 cte 呢?簡言之,如果 cte 中的 fullselect 在 from 子句中引用到 cte 本身,就是遞...

Oracle SQL和DB2分頁查詢寫法介紹

db2分頁查詢和oracle sql中的分頁查詢語句寫法都不太一樣,下面就為您介紹db2分頁查詢和其他資料庫中分頁查詢的區別,希望對您有所幫助。oracle分頁查詢寫法 一 oracle select from select rownum,name from table where rownum e...