我想使用MYSQL递归、子查询来获取两个节点之间的路径,而不使用Procedure/,function
我的 table 是
链接
+--------+--------+
| child | parent |
+--------+--------+
| 5 | 1 |
| 3 | 1 |
| 2 | 3 |
| 4 | 3 |
| 6 | 4 |
+--------+--------+
例如: child 6 和 child 5 之间的路径是 6-4-3-1-5
最佳答案
抱歉。 MySQL
AND 递归
AND 不使用过程/函数
是不可能的。
虽然不可能实现真正的递归,但对于有限数量的级别,可以进行多个连接,例如
FROM mytable t0
LEFT JOIN mytable t1 ON t1.parent=t0.child
LEFT JOIN mytable t2 ON t2.parent=t1.child
LEFT JOIN mytable t3 ON t3.parent=t2.child
LEFT JOIN mytable t4 ON t4.parent=t3.child
...
但这仅限于有限的深度并且效率很低
关于MySQL - 递归两个节点之间的树路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886052/