当前位置:   article > 正文

mysql查询树节点_mysql树表如何快速查询到所需节点

mysql树表如何快速查询到所需节点
  1. 根据子节点查询梭鱼的父节点包括当前节点
  2. SELECT T2.*,T1.lvl
  3. FROM (
  4. SELECT
  5. @r AS _id,
  6. (SELECT @r := parent_id FROM 数据库的表名 WHERE id = _id) AS parent_id,
  7. @l := @l + 1 AS lvl
  8. FROM
  9. (SELECT @r := '当前节点的ID', @l := 0) vars,
  10. 数据库的表名 h
  11. WHERE @r <> 0) T1
  12. JOIN 数据库的表名 T2
  13. ON T1._id = T2.id
  14. ORDER BY T1.lvl DESC
  15. 示例:
  16. SELECT T2.*,T1.lvl
  17. FROM (
  18. SELECT
  19. @r AS _id,
  20. (SELECT @r := parent_id FROM jicheng_depart WHERE id = _id) AS parent_id,
  21. @l := @l + 1 AS lvl
  22. FROM
  23. (SELECT @r := '1500759729696137217', @l := 0) vars,
  24. jicheng_depart h
  25. WHERE @r <> 0) T1
  26. JOIN jicheng_depart T2
  27. ON T1._id = T2.id
  28. ORDER BY T1.lvl DESC
  1. 通过当前节点查询所有的子节点,不包括当前节点
  2. SELECT
  3. *
  4. FROM
  5. (
  6. SELECT
  7. t1.id,t1.depart_level,
  8. IF
  9. ( find_in_set( t1.parent_id, @pids ) > 0, @pids := concat( @pids, ',', t1.id ), 0 ) AS ischild
  10. FROM
  11. ( SELECT id, parent_id, depart_level FROM jicheng_depart t WHERE t.del_flag = 0 ORDER BY parent_id, id ) t1,
  12. ( SELECT @pids := '当前节点的ID' id ) t2
  13. ) t3
  14. WHERE
  15. t3.ischild != 0
  16. jicheng_depart---表名
  17. id---正常的ID
  18. parent_id ---父节点

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/442202
推荐阅读
相关标签
  

闽ICP备14008679号