久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > 網站建設 > oracle 樹查詢 語句建站知識

oracle 樹查詢 語句建站知識

時間:2023-05-23 11:05:23 閱讀: 文章分類: 網站建設 作者: 建站小能手

導讀:1建站知識oracle 樹查詢,需要的朋友可以參考下,代碼有點亂不好意思啊建設網站公司seo網站排名優化軟件。

建設網站公司seo網站排名優化軟件格式: SELECT column FROM table_name START WITH column=value CONNECT BY PRIOR 父主鍵=子外鍵 select lpad(' ',4*(level-1))||name name,job,id,super from emp start with super is null connect by prior id=super 例子: 原始數據:select no,q from a_example2 NO NAME ---------- ------------------------------ 001 a01 001 a02 001 a03 001 a04 001 a05 002 b01 003 c01 003 c02 004 d01 005 e01 005 e02 005 e03 005 e04 005 e05 需要實現得建設網站到結果是: 001 a01;a02;a03 002 b01 003 c01;c02 004 d01 005 e01;e02;e03;e04;e05 思路: 1、ORACLE8.1之后有個connect by 子句,取出整棵樹數據。 create table a_example1 ( no char(3) not null, name varchar2(10) not null, parent char(3) ) insert into a_example1 values('001','老王',null) insert into a_example1 values('101','老李',null) insert into a_example1 values('002','大王1','001') insert into a_example1 values('102','大李1','101') insert into a_example1 values('003','大王2','001') insert into a_example1 values('103','大李2','101') insert into a_example1 values('003','小王1','002') insert into a_example1 values('103','小李1','102') NO  NAME PARENT 001 老王 101 老李 002 大王1 001 102 大李1 101 003 大王2 001 103 大李2 101 003 小王1 002 103 小李1 102 //按照家族樹取數據 select * from a_example1 select level,sys_connect_by_path(name,'/') path from a_example1 start with /*name = '老王' and*/ parent is null connect by parent = prior no 結果: 1 /老王 2 /老王/大王1 3 /老王/大王1/小王1 2 /老王/大王2 1 /老李 2 /老李/大李1 3 /老李/大李1/小李1 2 /老李/大李2 按照上面思路,我們只要將原始數據做成如下結構: NO NAME 001 a01 001 a01/a02 001 a01/a02/a網站seo優化培訓03 001 a01/a02/a03/a04 001 a01/a02/a03/a04/a05 002 b01 003 c01 003 c01/c02 004 d01 005 e01 005 e01/e02 005 e01/e02/e03 005 e01/e02/e03/e04 005 e01/e02/e03/e04/e05 最后按NO分組,取最大的一個值即為所需的結果。 NO NAME 001 a01/a02/a03/a04/a05 002 b01 003 c01/c02 004 d01 005 e01/e02/e03/e04/e05 SQL語句: select no,max(sys_connect_by_path(name,';')) result from (select no,name,rn,lead(rn) over(partition by no order by rn) rn1 from (select no,name,row_number() over(order by no,name desc) rn from a_example2) ) start with rn1 is null connect by rn1 = prior rn group by no 語句分析: 1、 select no,name,row_number() over(order by no,name desc) rn from a_example2 按照NO升序排序,同時按照NAME降序排序,產生偽列,目的是要形成樹結構 NO  NAME RN 001 a03 1 001 a02 2 001 a01 3 002 b01 4 003 c02 5 003 c01 6 004 d01 7 005 e05 8 005 e04 9 005 e03 10 005 e02 11 005 e01 12 2、select no,name,rn,lead(rn) over(partition by no o企業網站建設rder by rn) rn1 from ( select no,name,row_number() over(order by no,name desc) rn from a_example2) 生成家族譜,即子節點與父節點有對應關系,對應關系通過rn和 rn1。其中lead為上一條記錄的RN值 NO  NAME RN  RN1  001 a03 1 2 --說明:針對NO=001來說,其下一條記錄的RN=2 001 a02 2 3 --說明:針對NO=001來說,其下一條記錄的RN=3 001 a01 3  --說明:針對NO=001來說,其下一條記錄的RN IS NULL 002 b01 4 003 c02 5 6 003 c01 6 004 d01 7 005 e05 8 9 005 e04 9 10 005 e03 10 11 005 e02 11 12 005 e01 12 3、select no,sys_connect_by_path(name,';') result from (select no,name,rn,lead(rn) over(partition by no order by rn) rn1 from ( select no,name,row_number() over(order by no,name desc) rn from a_example2)) start with rn1 is null connect by rn1 = prior rn 正式生成樹 NO   RESULT 001 ;a01 001 ;a01;a02 001 ;a01;a02;a03 002 ;b01 005 ;e01 005 ;e01;e02 005 ;e01;e02;e03 005 ;e01;e02;e03;e04 005 ;e01;e02;e03;e04;e05 003 ;c01 003 ;c01;c02 004 ;d01 將上面結果按照NO分組,取result最大值即可,所以將上述語句改為 select no,max(sys_connect_by_path(name,';')) result from (select no,name,rn,lead(rn) over(partition by no order by rn) rn1 from (select no,name,row_number() over(order by no,name desc) rn from a_example2) ) start with rn1 is null connect by rn1 = prior rn group by no 得到所需結果。相關建設網站公司seo網站排名優化軟件。

關鍵詞標簽: 標簽 語句

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章oracle 樹查詢 語句建站知識主要講述語句,標簽,oracle 樹查詢 語句建站知識1網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5443.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 镇江市| 余干县| 阿瓦提县| 美姑县| 襄汾县| 嫩江县| 同心县| 乐都县| 金川县| 尤溪县| 江口县| 祁门县| 旬邑县| 江永县| 乡宁县| 绩溪县| 防城港市| 车致| 兰溪市| 岗巴县| 积石山| 阿城市| 望谟县| 凤山市| 无极县| 姜堰市| 莆田市| 诸暨市| 平顺县| 喀喇| 山阳县| 织金县| 龙川县| 莒南县| 平度市| 维西| 山阳县| 岳阳县| 营口市| 南江县| 枞阳县|