Определение принадлежности в структуре

  • Автор темы Автор темы Светлана PHP
  • Дата начала Дата начала

Светлана PHP

Guest
Определение принадлежности в структуре

Есть древовидная структура построенная, скажем на таблице вида:

ID, PID, NAME

где ID - уникальный идентификатор, PID - идентификатор родителя в этой структуре (ID другого, 0 если нет родителя), NAME - что-то второстепенное...

Вопрос:
Допустим эта структура описывает дерево:

(14,0)
(22,14)
(26,22)
(28,22)
(30,28)
(40,30)

Каким образом следует построить SQL запрос, чтобы выяснить, что 40 далёкий потомок 14.
Сейчас это решается на уровне рекурсивной функции, один вызов которой соот-ет одному SQL запросу. А можно ли одним, но сложным запросом? И если можно, то как, и насколько это производительней этой рекурсивной функции.

Спасибо за внимание
 
можно слепить кучу join'ов если знать на какой глубене находится нода
 
За демонстрацию реализации спасибо. Но интересовала логика. Логику нашла - тут: http://sdm.viptop.ru/articles/sqltrees.html

-~{}~ 30.04.05 19:21:

Но и реализация функциональна. Поэтому, спасибо.
 
Сверху