一般的な問題を解決しようとしています。リレーショナルデータベースに階層データをどのように保存および取得しますか?
最初にすべきことは、mysql.comのこの記事「
現在、「隣接リスト」モデルを使用しています。いくつかの欠点がありますが、その主なものは、保存しているすべてのツリーを返すクエリを作成することが本質的に不可能であるという事実です。
同じページで詳しく説明されている「入れ子集合」モデルへの切り替えを検討することをお勧めします。
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html