MySql 求一语句 有这样一个表是树结构的,知道最顶层父结点的id值,我想用这个id值获取下面所有的结点信息,用一条sql语句可以实现吗?CREATE TABLE ta( id int, name varchar(20), parentid int, orders int) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想必有点难,SQL 主要专注数据操作方面,对于逻辑结构等还是需要一些编程语言的支持。要的话,用存储过程应该可以实现吧,存储过程可以使用条件、循环等语句,那就比较给力了。 mysql里面不能用sql进行递归,只能用sphttp://shanchao7932297.blog.163.com/blog/static/136362420113115108334/ 一般都引入lft,rgt算法,就一句搞定。得到所有子节点:select * from treetable where 当前lft值 < lft and 当前rgt值 > rgt得到所有父节点select * from treetable where 当前lft值 between lft and rgt缺点是维护树的时候麻烦一点,增删改某个节点,相应的lft,rgt要有所变化。 参考下贴中的多种方法MySQL中进行树状所有子节点的查询http://blog.csdn.net/acmain_chm/article/details/4142971 数据库主从同步时状态信息正确,但数据无法同步 mysql 根据英文首字母来查询汉字函数 如何更新数据使计数连续 mysql 如何存小数(不用字符串) mysql储存过程的问题 【在线等】请问如何查询最近生日的用户?谢谢,立即结贴~ mysql为什么不使用我创建的索引?关于mysql索引应用的问题 关于MYSQL服务的停止 用HeidiSQL建立Event排程不自动执行的问题 求助,想要将查询的时间范围限制为2019-06-29 and 2019-10-15,应该怎么写 问个存储过程的小问题 SQL查询急求帮助!!!!!!!!!!!!
http://shanchao7932297.blog.163.com/blog/static/136362420113115108334/
得到所有子节点:
select * from treetable where 当前lft值 < lft and 当前rgt值 > rgt
得到所有父节点
select * from treetable where 当前lft值 between lft and rgt缺点是维护树的时候麻烦一点,增删改某个节点,相应的lft,rgt要有所变化。
http://blog.csdn.net/acmain_chm/article/details/4142971