たとえば、次の 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 で一覧表示したいだけです。1 つの SQL クエリだけで上記の結果を取得することは可能ですか? 最初に親にクエリを実行し、次に親 ID を使用して再帰的に子にクエリを実行すると、上記の結果を得ることができますが、DB にヒットする SQL クエリがさらに多くなります。
または、すべてのparent_idとchildren_idを含む結果を取得し、配列を使用してPHPで上記の結果を達成しますか? もしそうなら、方法を教えてください。