Вопрос по спискам смежности (деревья id, id_parent)

Духовность™

Продвинутый новичок
Вопрос по спискам смежности (деревья id, id_parent)

Скажите, правильно ли я понимаю, что средствами SQL невозможно вытащить какой-либо узел без выборки остальных данных дерева?

Т.е. в дереве

1.
1.1.
1.1.1.
1.1.1.2.

надо вытащить 1.1.1 вместе с его потомками, т.е. 1.1.1.2

Полюбому надо всю таблицу получать?
 

Wicked

Новичок
надо вытащить 1.1.1 вместе с его потомками, т.е. 1.1.1.2

Полюбому надо всю таблицу получать?
нет.

если ты знаешь id записи с путём 1.1.1, пусть это будет 3, то достаточно выбрать ее:
where id = 3
ее потомков:
where parent_id = 3
и дальше рекурсивно:
where parent_id in (...id записей, выбранных на прошлом шагу...)

http://phpclub.ru/faq/Tree/AlLoadSubtree?v=cwb
 

Духовность™

Продвинутый новичок
Wicked
т.е. нужно будет делать столько запросов, сколько деток и деток деток у 1.1.1?
 

zerkms

TDD infected
Команда форума
triumvirat
можно захардкодить тонну LEFT JOIN ;-)
 

Духовность™

Продвинутый новичок
*****
я читал её сегодня ночью, но не допер. сегодня днем надеюсь дойдет!

ладо, спасибо. деревья у меня что-то хреновенько идут. буду пытаться.
 

Фанат

oncle terrible
Команда форума
твое дерево годится для небольших деревьев, до сотни.
в этом случае проще при каждом вызове скрипта просто получать его целиком.
если дерево больше, то лучше подумать о других способах, как мне кажется.
 
Сверху