Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсия при помощи вложенных запросов 
:(
    Опции темы
IZ@TOP
Дата 19.1.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Тема уже такая была. Кажется что что-то подобное я делал, но тогда у хостера не оказалось MySQL выше 4.0.

В общем задача такая. Знаю конечный ID выбрать все дерево до корня.

Например есть таблица:

Код

CREATE TABLE m_lib_directories (
  id varchar(20) NOT NULL default '',
  parent varchar(20) NOT NULL default '',
  name varchar(100) character set latin1 NOT NULL default '',
  title varchar(255) character set latin1 NOT NULL default '',
  PRIMARY KEY  (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Имеем ID 31414, нужно пройти по дереву и получить корень

Код

1 -> 42 -> 542 -> 626 -> 5252 -> 31414


Кажется не реализуемым на MySQL.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
mr.fox
Дата 20.1.2006, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: 1
Всего: 2



ну что-то типа
Код

select parents.*, m_lib_directories.* from parents,m_lib_directories where .parents.id=m_lib_directories.parent and m_lib_directories.id=31314;

подойдет?
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 20.1.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



mr.fox, и как этот запрос выберет дерево из более чем двух эелемнтов?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 20.1.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



MySQL нерекурсивен (как и любой SQL). Сделай это хранимой процедурой. Но возможны проблемы (см. напр. http://bugs.mysql.com/bug.php?id=11394 ).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.