Мой вопрос довольно прост, но я не знаю об ответе на него ...MySQL получить родительские/дочерние категории в порядке
У меня есть таблица со следующими полями и значениями:
Категории
ID | PARENT_ID | NAME
---------------------
1 | 0 | Cat1
2 | 0 | Cat2
3 | 1 | Cat3
4 | 1 | Cat4
5 | 3 | Cat5
6 | 2 | Cat6
7 | 0 | Cat7
.....
В принципе, мне нужно получить данные только с помощью MySQL - отсортировано по Parent_id. Кроме того, для каждого имени мне нужно добавить знак «-» в зависимости от уровня.
В конце концов, он должен выглядеть следующим образом:
ID | PARENT_ID | NAME
---------------------
1 | 0 | Cat1
3 | 1 | -Cat3
5 | 3 | --Cat5
4 | 1 | -Cat4
2 | 0 | Cat2
6 | 2 | -Cat6
7 | 0 | Cat7
Я не знаю, как начать строить такой запрос - я думал заказать по parent_id, но он не будет работать.
Есть ли функция или способ, который я мог бы использовать для достижения этого? Любые намеки будут оценены по достоинству.
Взгляните на этот сайт: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ в качестве отправной точки. Вы используете метод смежности. – AgRizzo
@ AgRizzo - укажите это как ответ, чтобы я мог его принять. – CristiC
На самом деле это не ответ (нет кода SQL) - его больше перенаправления :) Если вы разработаете решение, вы должны ответить на него сами. – AgRizzo