postgres递归sql

  递归查询sql:

    

WITH recursive r AS
 (SELECT *
    FROM t_e_tree
   WHERE levelid = '101010'
  UNION ALL
  SELECT t_e_tree.*
    FROM t_e_tree,
         r
   WHERE t_e_tree.parentlevelid = r.levelid)
SELECT * FROM r

   其中:

  

SELECT *
    FROM t_e_tree
   WHERE levelid = '101010'

表示先查询指定的父节点。

    后面递归查询父节点下面的子节点,然后UNION ALL

猜你喜欢

转载自zhangyou1010.iteye.com/blog/1832793