以下のようなMySQLカテゴリテーブルがあります。どのparent
フィールドID
が親カテゴリを示し、hassub
フィールドがカテゴリにサブカテゴリがあるかどうかを示します。(私はPHPをベースとして使用しています。)
************************************
| ID | parent | name | hassub |
************************************
| 1 | 0 | Nature | 1 |
| 2 | 1 | foo | 0 |
| 3 | 1 | bar | 1 |
| 4 | 3 | bar1 | 0 |
| 5 | 0 | Anime | 0 |
************************************
すべてのカテゴリを階層形式で取得するには、できるだけ少ない MySQL クエリでこれを行う方法はありますか?
- メインカテゴリー1
- サブカテゴリー1
- サブカテゴリー2
- サブカテゴリー3
- メインカテゴリー2
- メインカテゴリー3
- サブカテゴリー1
- サブカテゴリー2
私が今していることは、すべての行をparent = 0
取得してから、それぞれの行を照会してサブカテゴリを取得することです。