我将 mysql 表定义为:
类别:category_id、category_name、parent_category_id
我正在寻找一个很好的 sql 查询来检索给定 category_id 的所有 DESCENDANTS。这意味着,它的 child ,以及它的 child 的 child 。
如果这有帮助,我们可以假设最大级别数 (3)。此查询可以在任何级别(根、级别 2、级别 3)发送。
谢谢!
内森
最佳答案
有几种方法可以将树存储在数据库中。在 sitepoint 上有一篇很棒的文章描述了所有的技术:
http://articles.sitepoint.com/article/hierarchical-data-database/2
如果您希望能够在一次查询中获取一棵树的整个部分,最合适的方法是修改后的先序树遍历。
这种技术也称为嵌套集。如果您需要有关该主题的更多文献,这里有更多信息:
http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
关于MySQL:获取所有子类别,后代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1690868/