Построение запроса сортировки дерева

Khan

Guest
Построение запроса сортировки дерева

Дерево реализовано методом, описаным Joe Celko. Т.е. таблица имеет следующую структуру:

id
left
right
name
...

Чтобы получить правильное дерево достаточно отсортировать результат по полю left. При сортировк по какому-либо другому полю, соблюдение иерархии, конечно, теряется. Как в данном случае построить запрос, чтобы в результате получить дерево, отсортированное, например, по полю name или любому другому, но с сохранением иерархиии?

Спасибо.
 

Demiurg

Guest
как это с сохранением иерархии ? у тебя же вся иерархия задается полем left и как я понял - это уникальное поле.
 

Khan

Guest
Да, именно так. Сортировка по полю left иерархию, отсортированную в порядке добавления детей под родителей. Мне бы хотелось производить сортировку внутри веток. Захотел дерево отсортировал по полю name, захотел - по другому. Но чтобы связь оставалась.
 

Demiurg

Guest
не сделаешь так ...
у тебя в иерархии четко указао что за чем идет. Иначе надло все дерево перебирть.
 

Khan

Guest
Массив я могу, конечно, перебрать. Но это не есть рационально. Неужели я один задался сортировкой дерева Celko? Должен быть какой-то способ решения задачи.
 

pachanga

Новичок
О, у меня такая же проблема!
Так никто ничего и не придумал?...
 
Сверху