Forum Webscript.Ru

Общие => Базы данных => Тема начата: kiruxa от 17 Декабря 2007, 14:47:05

Название: Рекурсивный запрос но не знаю как :(
Отправлено: kiruxa от 17 Декабря 2007, 14:47:05
Доброго дня

не пиннайте плиз.... В СКЛ я начинающий.... понимаю что вопрос детский, но...

у меня есть такая структура базы

Цитировать

id   parent_id description active

1       0
2       1
3       1


вот мне надо зная ИД родителя выбрать все его дочерние элементы....
подскажите плиз как это сделать... буду благодарен
Название: Рекурсивный запрос но не знаю как :(
Отправлено: commander от 17 Декабря 2007, 17:31:05
kiruxa
SELECT id FROM table WHERE parent_id=1;
Название: Рекурсивный запрос но не знаю как :(
Отправлено: kiruxa от 17 Декабря 2007, 20:13:27
Вообщето меня интересовала рекурсионная выборка из таблицы...

надо выбрать всю ветку зная родителя.... выбрать надо дочей и внуков.... по такой структуре таблицы
Название: Рекурсивный запрос но не знаю как :(
Отправлено: for_i_0 от 18 Декабря 2007, 11:58:40
kiruxa
Есть Процедуры и Функции а рекурсии нет и никакой супер запрос тебе не поможет. Используем язык серверное программирование.
Название: Рекурсивный запрос но не знаю как :(
Отправлено: CGVictor от 18 Декабря 2007, 17:10:19
for_i_0
Вообще-то есть. Но делать его (на foreign keys) настолько нецелесообразно, что проще сделать в коде.
Название: Рекурсивный запрос но не знаю как :(
Отправлено: Greg от 24 Декабря 2007, 09:07:36
если есть возможность организовать БД по-другому, сделайте путь для каждого элемента, указав в нем всех родителей через разделитель (идентификаторы): 0.1.15.289.
вот еще варианты (http://www.sqlbooks.ru/readarticle.aspx?part=02&file=sql200509)
Название: Рекурсивный запрос но не знаю как :(
Отправлено: for_i_0 от 24 Декабря 2007, 11:20:28
CGVictor
спасибо за поправку, думаю автору есть над чем задуматься.

[off]тема закрыта[/off]