MySQL Tree по заказу родителя и ребенка
Я пытаюсь отобразить древовидную структуру в MYSQL с этой ссылкой (http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/) и я вижу, что работает только с 1 родителем в той же таблице.
Если у вас есть другой стол для игры, ничего не получится. Пример:
Меню стола:
+----+--------+-------+
| id | name | order |
| 1 | Father | 0 |
| 2 | Father | 1 |
| 3 | Son | 0 |
| 4 | Child | 1 |
| 5 | Granson| 2 |
+----+--------+-------+
Табличные Отношения
+----+---------+-----------+
| id | menu_id | parent_id |
| 1 | 1 | NULL |
| 2 | 2 | NULL |
| 3 | 3 | 1 |
| 4 | 4 | 3 |
| 5 | 5 | 4 |
+----+---------+-----------+
ВЫБЕРИТЕ
SELECT child_menu.*, menu.* FROM menu, relations AS child_menu
WHERE menu.id = child_menu.menu_id
GROUP BY menu_id
У меня есть это:
+----+--------+-------+
| id | name | order |
| 1 | Father | 0 |
| 2 | Father | 1 |
| 3 | Son | 0 |
| 4 | Child | 1 |
| 5 | Granson| 2 |
+----+--------+-------+
Я пытаюсь оставить своих детей в порядке в том же SELECT.
Из того, что я вижу в примерах, работает, только если родитель находится в той же таблице.
Кто-нибудь может мне помочь? благодарю вас
Отредактировано: ОЖИДАЕМЫЙ ВЫХОД:
+----+--------+-------+
| id | name | order |
| 1 | Father | 0 |
| 3 | Son | 0 |
| 4 | Child | 1 |
| 5 | Granson| 2 |
| 2 | Father | 1 |
+----+--------+-------+
I.E. Father
Son
Child
Grandson