如何使用MSQL 循环语句查找所有下级?

如何使用MSQL循环语句查找所有下级?注意:只要一条语句,不用foreach。

clipboard.png

如图:找出id=8的所有下级(包括自己)。图比较简单,注意也有可能存在下级,下下级。

怎么用MSQL一条语句查找得出如下结果:

id nodename
8   H
9   I
10  J
11  K
阅读 4.8k
5 个回答

我修改了回复,你看看下面截图是否你需要的效果
图片描述

你这问题跟这文档描述的一样你可以看下

下级,下下级,下下级。。。。这怎么实现,加个关系字段,记录所有上级关系
比如
id=8:__1__2__3__4——(1发展2发展3发展4)
id=9:——2——5——6——7——(2发展5发展6发展7)

如果要找2的下级,那么8,9就是了,like模糊查询,没有那么慢

建议还是加个字段比如叫path的字段吧,用来存层级关系,不然完全就是为了实现而实现,太影响数据库性能了。毕竟数据库的作用应该是存储而非计算,这种需要递归的业务,在数据库里面做,真不合适

目前你的表只有上级ID 你在加个来一个根级ID与层级数就OK了 查找所有属于这个根集中层级比自己层级低的数据就OK了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题