Привет, народ
Помогите составить SQL запрос.
Есть: таблица с иерархическим списком. Есть поля ID, NAME, PARENT; PARENT является ключом на ID родительского элемента, если PARENT=0, то элемент является элементом верхнего уровня (корневым).
Нужно: получить иерархический отсортированный список.
Кодом я бы делал это так:
1. Сделать выборку SELECT * FROM ... WHERE PARENT=0 ORDER BY 1
2. Пройтись по списку и для каждого элемента сделать SELECT * FROM ... WHERE PARENT=[ParentID] ORDER BY 1.
3. Повторить п.2 рекурсивно для каждого загруженного элемента.
Но это надо сделать одним SQL-запросом и что-то никак не могу его придумать. Скорее всего придется вводить вспомогательные поля (например, LEVEL, который будет указывать на глубину вложенности элемента, при LEVEL=0 элемент является корневым).
Заранее спасибо.