PostgreSQL递归查询
发布时间:2020-12-13 16:11:12 所属栏目:百科 来源:网络整理
导读:原料 -- 创建组织架构表 create table "Org"( "OrgId" character varying ( 50 ) primary key ,"ParentId" character varying ( 50 ),"OrgName" character varying ( 50 )) -- 添加数据 insert into "Org" ("OrgId","ParentId","OrgName") values ( ‘ 00 ‘
原料 --创建组织架构表 create table "Org"( "OrgId" character varying(50) primary key,"ParentId" character varying(50),"OrgName" character varying(50) ) --添加数据 insert into "Org" ("OrgId","ParentId","OrgName") values(‘00‘,null,‘***集团‘); insert into "Org" ("OrgId","OrgName") values(‘01‘,‘00‘,‘子公司01‘); insert into "Org" ("OrgId","OrgName") values(‘02‘,‘子公司02‘); insert into "Org" ("OrgId","OrgName") values(‘03‘,‘子公司03‘); insert into "Org" ("OrgId","OrgName") values(‘04‘,‘子公司04‘); insert into "Org" ("OrgId","OrgName") values(‘0101‘,‘01‘,‘电子商务部‘); insert into "Org" ("OrgId","OrgName") values(‘0102‘,‘渠道合作部‘); insert into "Org" ("OrgId","OrgName") values(‘0103‘,‘个人业务部‘); insert into "Org" ("OrgId","OrgName") values(‘0104‘,‘人力资源部‘); insert into "Org" ("OrgId","OrgName") values(‘0105‘,‘运营管理部‘); insert into "Org" ("OrgId","OrgName") values(‘0201‘,‘02‘,"OrgName") values(‘0202‘,"OrgName") values(‘0203‘,"OrgName") values(‘0204‘,"OrgName") values(‘0205‘,"OrgName") values(‘0301‘,‘03‘,"OrgName") values(‘0302‘,"OrgName") values(‘0303‘,"OrgName") values(‘0304‘,"OrgName") values(‘0305‘,"OrgName") values(‘0401‘,‘04‘,"OrgName") values(‘0402‘,"OrgName") values(‘0403‘,"OrgName") values(‘0404‘,"OrgName") values(‘0405‘,‘运营管理部‘); 向下递归 --向下递归 with recursive T ("OrgId","OrgName","Depth") AS ( select "OrgId",1 "Depth" from "Org" where "OrgId"=‘01‘ --起始节点 union all select D."OrgId",D."ParentId",D."OrgName",T."Depth" + 1 "Depth" from "Org" D join T on D."ParentId" = T."OrgId" ) select "OrgId","Depth" from T 输出结果: ? 向上递归 --向上递归 with recursive T ("OrgId",1 "Depth" from "Org" where "OrgId"=‘0105‘ --起始节点 union all select D."OrgId",T."Depth" + 1 "Depth" from "Org" D join T on D."OrgId" = T."ParentId" ) select "OrgId","Depth" from T 输出结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容