一個遞迴查詢
今天有同學在群裡詢問一個遞迴查詢的寫法,記錄一下:
表t 表t1(id1,id2 多於表t表的id關聯) id name id1 id2 1 a 1 2 2 b 2 3 3 c 2 4 4 d 3 5 5 e
表t1,id1,id2 是一個部門上下級關係,查詢所有部門的列表,按照級別關係寫成完整字串. 1:a 2:a\b 3:a\b\c 4:a\b\d 5:a\b\c\e
如下: create table t(id number,name varchar2(10)); insert into t values(1,'a'); insert into t values(2,'b'); insert into t values(3,'c'); insert into t values(4,'d'); insert into t values(5,'e');
create table t1(id1 number,id2 number); insert into t1 values(1,2); insert into t1 values(2,3); insert into t1 values(2,4); insert into t1 values(3,5);
create or replace function sp_get_name(p_num number) return varchar2 is p_name varchar2(100); begin with tt as (select distinct t1.id1, id2 from t1 connect by id2 = prior id1 start with id2 = p_num) select replace(wmsys.wm_concat(name), ',', '\') into p_name from (select distinct t.id, t.name from tt, t where tt.id1 = t.id or tt.id2 = t.id order by t.id); return p_name; end;
SQL> select id, decode(sp_get_name(id), null, 'a', sp_get_name(id)) name from t; ID NAME ---------- ----------------------------------------------------------------------- 1 a 2 a\b 3 a\b\c 4 a\b\d 5 a\b\c\e
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24496749/viewspace-723171/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SqlServer遞迴查詢SQLServer遞迴
- PostgreSQL 遞迴查詢SQL遞迴
- sqlalchemy 遞迴查詢SQL遞迴
- 遞迴查詢子元素遞迴
- java-遞迴(檔案查詢)Java遞迴
- 記錄一次遞迴查詢的運用遞迴
- 遞迴-M--二分查詢遞迴
- 遞迴樹形查詢所有分類遞迴
- iOS 演算法之排序、查詢、遞迴iOS演算法排序遞迴
- 資料庫遞迴查詢:MySQL VS Sequelize資料庫遞迴MySql
- 透過遞迴查詢應用依賴遞迴
- Java實現遞迴查詢樹結構Java遞迴
- 第二章 :查詢與排序---------遞迴、查詢與排序補充排序遞迴
- 簡單C#遞迴(向前查詢上工序)C#遞迴
- 第二章 :查詢與排序-------二分查詢的遞迴解法排序遞迴
- 二分法查詢(遞迴實現)遞迴
- Python遞迴函式,二分查詢演算法Python遞迴函式演算法
- 同事問我MySQL怎麼遞迴查詢,我懵逼了MySql遞迴
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- oracle之樹狀結構的儲存與展示(遞迴查詢)Oracle遞迴
- ORACLE遞迴查詢(適用於ID,PARENTID結構資料表)Oracle遞迴
- 二分查詢的兩種實現形式遞迴和迭代遞迴
- JS遞迴過濾樹形結構陣列物件--模糊查詢JS遞迴陣列物件
- 快遞查詢 C#C#
- 第二章 :查詢與排序-------遞迴形式進行插入排序排序遞迴
- 一鍵批量查詢極兔快遞並設定快遞引數
- 這個遞迴不太難遞迴
- 遞迴和尾遞迴遞迴
- 輸入一個數倒序輸出(遞迴)遞迴
- 快遞物流查詢介面通用demo
- ORACLE資料庫遞迴查詢時間區間,可傳入指定日期Oracle資料庫遞迴
- 基於快遞鳥的快遞物流查詢介面
- 快速排序【遞迴】【非遞迴】排序遞迴
- Vue一個案例引發的遞迴元件的使用Vue遞迴元件
- 請教一個切片遞迴賦值的問題遞迴賦值
- 第二章 :查詢與排序-------遞迴經典問題——漢諾塔問題排序遞迴
- 教你批次查詢快遞並篩選出快遞公司
- JS字串最長迴文查詢JS字串
- 快遞鳥查詢訂單例項單例