Привет В течение многих дней я работал над этой проблемой в MySQL, но я не могу понять это. У кого-нибудь из вас есть предложения?
В принципе, у меня есть таблица категорий с такими доменами, как: id
, name
(название категории) и parent
(id родителя категории).
Пример данных:
1 Fruit 0
2 Apple 1
3 pear 1
4 FujiApple 2
5 AusApple 2
6 SydneyAPPLE 5
....
Существует много уровней, возможно, более трех уровней. Я хочу создать sql-запрос, который группирует данные в соответствии с его иерархией: parent > child > grandchild > и т.д.
Он должен выводить древовидную структуру следующим образом:
1 Fruit 0
^ 2 Apple 1
^ 4 FujiApple 2
- 5 AusApple 2
^ 6 SydneyApple 5
- 3 pear 1
Могу ли я сделать это, используя один SQL-запрос? Альтернатива, которую я пробовал и работает, заключается в следующем:
SELECT * FROM category WHERE parent=0
После этого я снова повторяю данные и выбираю строки, где parent = id. Это кажется плохим решением. Поскольку это mySQL, CTE не могут быть использованы.