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

  • Автор темы Светлана 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 запросу. А можно ли одним, но сложным запросом? И если можно, то как, и насколько это производительней этой рекурсивной функции.

Спасибо за внимание
 

neko

tеam neko
можно слепить кучу join'ов если знать на какой глубене находится нода
 

Светлана PHP

Guest
За демонстрацию реализации спасибо. Но интересовала логика. Логику нашла - тут: http://sdm.viptop.ru/articles/sqltrees.html

-~{}~ 30.04.05 19:21:

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