SQL для работы с деревом Agency List

Цена договорная • электронные деньги
4 отклика • 1 просмотр

Есть база пользователей MySql agency list. Таблица вида:

userID, parentID, userInfo. В ней порядка 100 тыс. записей. Вложенность элементов не ограничена (глубина). Сейчас приложение написано на php и работает с ней традиционно - циклами и рекурсиями строя путь от запрошенного userID до самого корня дерева. На выходе массив:

Array (


[6] => 288

[5] => 589

[4] => 604

[3] => 891

[2] => 903

[1] => 2237

[0] => 2303


)


где 2303 - userID путь для которого нужно получить, а 288 - самый первый user у которого parentID = 0 (корень всей ветки). Причем userID не обязательно увеличиваются от корня к веткам. Так у 600 пользователя может быть родитель 700.


Необходимо на чистом SQL написать функции (?) для вывода нужного пути - запросом к базе. Переложить так сказать всю тяжесть вычислений на плечи mysql. Массив на выходе не обязательно в приведенном в примере виде.


Если что-то из описания не удалось понять, спрашивайте, постараюсь пояснить.