php - 查找树中所有非空类别

标签 php mysql tree

我有一个类别表设置为[id,name,parent_id]和一个项目表[id,name,category_id,visible]。我想做的是创建一个查询,该查询将返回所有非空类别的所有 id,非空是因为它或其子级之一至少有一个属于它的项目。在 MySQL 中执行此操作的最佳方法是什么?

编辑

从项目中选择不同的category_id

这适用于包含项目的类别,但我还需要所有包含类别的项目的父类别。该查询将与其他一些过滤器一起用作子查询。

顶级类别

->二级类别

-->第三级类别

--->第 1 项

--->第 2 项

最佳答案

也许跑题了,但我觉得还是值得引用一下:Extensive Article on Managing Hierarchical Data in MySQL .

关于php - 查找树中所有非空类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612322/

相关文章:

tree - 有没有一种方法可以在没有运行时开销的情况下构建具有循环链接的结构?

tree - 有没有更好的方法来构造这样的优先级队列?

php - YouTube iframe API 触发所有事件两次

php - 仅使用 docker-compose up 命令设置 Docker 容器

php - 试图从数据库中检索密码

mysql - Propel ORM 在单次保存中添加多对多关系数据

mysql - mariadb:无法执行 'SHOW PACKAGE STATUS WHERE Db=' db_name'

javascript - 遍历树并获取每个对象的深度

php - 即使发生错误,MySQL 事务也会提交

php - 使用 PHP 的多行/列表