PGSQL 遞歸查詢

WITH RECURSIVE department_tree AS (
            -- 锚成员: 从给定的部门开始
            SELECT
                deptno,deptname,deptlevel,superdeptno
            FROM
                org_from_qh
            WHERE
                factoryid = #{factory}
              and deptno = #{deptNo}  -- 替换成你要查询的部门ID
            UNION ALL
            -- 递归成员: 查找每个部门的父部门
            SELECT
                d.deptno,d.deptname,d.deptlevel,d.superdeptno
            FROM
                org_from_qh d
                    INNER JOIN
                department_tree dt ON d.deptno = dt.superdeptno
                    and factoryid = #{factory} 
        )
-- 最后选择你需要的列
        SELECT
            distinct deptno
        FROM
            department_tree
        ORDER BY
            deptno
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容