php - 使用单个查询在 SQL 中选择组和子组以及子组组

标签 php mysql

我有一个表,其中大约有1000个组和子组,它们与parent_id有关系,我想按ID选择组及其子组和子组的子组这是 5 级 组。我有一个查询,它返回一个子级,我想通过单个查询返回所有级别的组,是否可能,如果是,那么如何?

enter image description here

最佳答案

根据您提供的内容,您可以执行以下操作:

SELECT a.group_name as 'Parent category', b.group_name as 'Sub-category 1' , c.group_name as 'Sub-category 2' , d.group_name as 'Sub-category 3' , e.group_name as 'Sub-category 4'
FROM Groups a
LEFT OUTER JOIN Groups b ON a.group_id = b.parent
LEFT OUTER JOIN Groups c ON b.parent = c.parent
LEFT OUTER JOIN Groups d ON c.parent = d.parent
LEFT OUTER JOIN Groups e ON d.parent = e.parent;

每个子组都会有一个结果(联接将为您提供一个子类别)

关于php - 使用单个查询在 SQL 中选择组和子组以及子组组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35909912/

相关文章:

php - 寻求帮助创建唯一 ID 并确保它不存在于数据库中

php - PHP/MySQL 仅部分支持 Unicode 字符?

php - 尝试将验证从 Controller 转移到 Laravel 5.2.15 中的请求类

mysql - 'date' 字段的默认值无效

mysql - 使用 where 子句更新两个表的内连接的列值

php - 带有 .p12 SSL 证书的curl/soap 请求

php - 验证没有表的模型中的字段 (CakePHP)

mysql - Rails - 如何从数据库中选择数据并按天打印出来?

mysql - 计算多个表行并在标签中显示总计

php - 如何将现有表映射到 laravel 中的模型