1.向上遞歸查詢到父節點(避免死循環)
WITH RECURSIVE org AS (
SELECT *
FROM tb_org
WHERE org_id IN
(’**’) UNION ALL
SELECT t1.*
FROM tb_org t1, org
WHERE t1.org_id = org.parent_org_id AND t1.org_id != org.org_id
)
SELECT (
SELECT COUNT(1)
FROM tb_org t1
WHERE t1.parent_org_id=org_id) AS has_child
FROM org
ORDER BY update_time
2.向下遞歸查詢到子節點(避免死循環)
WITH RECURSIVE org AS (
SELECT *
FROM tb_org
WHERE org_id = '**’ UNION ALL
SELECT t1.
FROM tb_org t1, org
WHERE t1.parent_org_id = org.org_id AND t1.parent_org_id != org.parent_org_id
)
SELECT
*
FROM org
ORDER BY update_time