我认为答案是否定的,但我希望有人能够深入了解如何在 SQL (MySQL) 中将树结构抓取到任何深度,但只需一个查询
更具体地说,给定一个树状结构表(id、data、data、parent_id)和表中的一行,是否有可能获得所有个后代(child/grandchild/etc),或者就此而言,所有祖先( parent /祖 parent /等)都不知道它会下降或上升多远,使用单个查询?
或者正在使用某种递归需求,我不断深入查询直到没有新结果?
具体来说,我使用的是 Ruby 和 Rails,但我猜这不是很相关。
最佳答案
是的,这是可能的,这就是所谓的修改前序树遍历,这里有最好的描述
Joe Celko's Trees and Hierarchies in SQL for Smarties
此处提供了一个工作示例(使用 PHP)
http://www.sitepoint.com/article/hierarchical-data-database/2/
https://stackoverflow.com/questions/169817/