postgresql 递归查询,查询父子节点关联关系

postgresql 递归查询,查询父子节点关联关系

CREATE TABLE "public"."sys_department" (
  "id" int4 NOT NULL DEFAULT nextval('sys_department_id_seq'::regclass),
  "name" varchar COLLATE "pg_catalog"."default",
  "pid" int4,
  "order" int4,
  "no" varchar COLLATE "pg_catalog"."default", 
  
  CONSTRAINT "sys_department_pkey" PRIMARY KEY ("id")
);

sql



WITH RECURSIVE CTE(id,name,pid,level) AS (


    SELECT ID,NAME,pid,1 AS Level FROM sys_department WHERE pid=0
    UNION ALL
    SELECT t.id,t.NAME,t.pid,cte.Level+1 AS Level FROM sys_department t
     
		 
		 JOIN CTE ON t.pid=CTE.id
)

select * from cte;


posted @   菜鸟辉哥  阅读(529)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-03-10 JAVA easypoi处理纵向合并一对多
点击右上角即可分享
微信分享提示