安置网络向上查询(递归查询版).sql 733 B

123456789101112131415161718192021222324252627282930
  1. WITH recursive t_rec AS -- recursive为关键字,可以不列出字段列表
  2. (
  3. SELECT
  4. m.USER_ID,
  5. U.USER_NAME,
  6. m.PARENT_UID,
  7. U2.USER_NAME AS PARENT_NAME,
  8. 1 AS node_level
  9. FROM
  10. ar_user_network_new m
  11. LEFT JOIN ar_user U ON U.ID = m.USER_ID
  12. LEFT JOIN ar_user U2 ON U2.ID = m.PARENT_UID
  13. WHERE
  14. U.USER_NAME = 'Y99670725' UNION ALL
  15. SELECT
  16. t1.USER_ID,
  17. U.USER_NAME,
  18. t1.PARENT_UID,
  19. U2.USER_NAME AS PARENT_NAME,
  20. t2.node_level + 1 -- 结点层级
  21. FROM
  22. ar_user_network_new t1
  23. JOIN t_rec t2 ON t2.PARENT_UID = t1.USER_ID -- 递归生成的结果集t2的parent_id与之前的源表id关联
  24. LEFT JOIN ar_user U ON U.ID = t1.USER_ID
  25. LEFT JOIN ar_user U2 ON U2.ID = t1.PARENT_UID
  26. ) SELECT
  27. *
  28. FROM
  29. t_rec