WITH RECURSIVE遞歸

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章