mysql递归查询的sql语句该如何实现

鲜为人知 2010-09-09 04:54:00
数据库表名:test
字段及其样例数据:
---------------------------------
id parent_id
---------------------------------
1 null
2 1
3 1
4 2
5 3
6 5
----------------------------------
现在我想要实现的是写个函数或存储过程来实现以传入节点数据为跟节点的树形节点
例如:参数id=3,运行结果为
---------------------------------
id parent_id
---------------------------------
5 3
6 5

mysql递归查询的sql语句该如何实现????
...全文
1589 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
鲜为人知 2010-09-10
  • 打赏
  • 举报
回复
终于在CSDN的ACMAIN_CHM的博客中找到了解决方案。下是他的博客地址
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/02/4142971.aspx

但是在使用存储过程时会报错,在showChildLst过程BEGIN后 加入set max_sp_recursion_depth=225; 语句就好了。
鲜为人知 2010-09-09
  • 打赏
  • 举报
回复
是啊,mysql的这种解决方法我也不详,这方面难道不强大???
Inhibitory 2010-09-09
  • 打赏
  • 举报
回复
以前我也遇到这个问题,老师说Oracle的话好像有办法解决,但是Mysql不详。
最后递归查询我使用了把父级的id放到一个串里parentIds = "id1, id2, id3",然后使用in(parentIDs)来查询解决这个问题。
鲜为人知 2010-09-09
  • 打赏
  • 举报
回复
如果使用mssql语句的话,使用sql实现递归较容易,但是使用mysql就不会了。

我要实现的是摘取完整树的一枝,把这一枝作为一个完整的树来显示。

暂时没考虑使用程序代码来实现这个功能
dickli1986 2010-09-09
  • 打赏
  • 举报
回复
一般树型结构都是用逻辑代码写递归算法的,很少有写递归sql的吧,至少我没见过写这种sql的

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧