例如,我有以下 MySQL 表:
parent_id | child_id
---------------------
1 | 4
1 | 3
1 | 5
2 | 8
3 | 7
我想以如下格式打印出父级及其所有子级:
parent | child
---------------------
| 4
1 | 3
| 5
---------------------
2 | 8
---------------------
3 | 7
基本上我只想显示父级 ONCE(Distinct) 并用 PHP 列出它的所有子级。是否可以仅使用一个 SQL 查询来检索上述结果?如果我首先查询父母,然后使用父母 ID 递归地查询孩子,我可以获得上述结果,但这将是更多的 SQL 查询访问数据库。
或者,我是否检索包含每个 parent_id 和 children_id 的结果,并通过使用数组在 PHP 中实现上述结果。如果是这样,请告诉我如何。