Рекурсивные запросы в MySQL

no_santa

Снегур
Рекурсивные запросы в MySQL

Всем привет!
Можно-ли в MySQL делать рекурсивные запросы?

Например, как сделать следующее:

Структура базы:
1. id
2. pid
3. title
4. ...

Задачи:
1. Запрос - выбрать всех родителей от элемента и вверх
2. Запрос - выбрать всех родственников от элемента и вверх
3. Запрос - выбрать всех родственников вниз

Заранее большое спасибо отозвавшимся!
 

Фанат

oncle terrible
Команда форума
нет, рекурсивных нет.
но как делать запросы к такой таблице, написано в документации.
 

Mols

Новичок
Писать хранимую процедуру. В ней получать список нужных ИД и строить запрос, выполнить построенный запрос.
 

nalim

Новичок
чтобы не грузить базу данных
лучше организовать данные по другому
пользоваться дополнительными полями, а не только id и parent_id

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

для этого нелишним будет почитать работу с деревьями
на сайте в статьях это есть
получается изящно и запросов совсем немного
 

no_santa

Снегур
все, что мне надо от данного проекта - хранимые урлы. В принципе, достигнуто, урлы хранятся.
Один-два раза в неделю обновляется инфа. В этой связи задача - обновить урлы. Про избыточные данные замято давно и прочно - пожелания ***-того заказчика.

В этой связи:
1. Задача по предохранению базы не стоит
2. Вышестоящие задачи стоят
 
Сверху