Форум: "Базы";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Внизвыбор данных, в соответствии с иерархией Найти похожие ветки
← →
Sergey_b (2006-09-15 14:45) [0]Здравствуйте, уважаемые мастера.
Есть таблица:
ID PARENT LEVEL
1 -1 0
2 -1 0
3 -1 0
4 2 1
5 4 2
6 3 1
7 6 2
8 7 3
9 2 1
Все это загружается в дерево, думаю из таблицы ясно как.
Нужно, чтобы при выборе кокого-либо узла дерева выводился список только тех ID, которые принадлежат ему и, причем они должны являться последними в иерархии. Если бы у выбранного узла были одинаковые уровни вложенности, то тогда это не составило проблеммы, но...
Подскажите, пожалуйста, как решить данную задачку? Может надо писать хранимую процедуру или можно без нее (даже лучше без нее, база InterBase,а язык оный я не знаю).
← →
Sergey13 © (2006-09-15 14:52) [1]> [0] Sergey_b (15.09.06 14:45)
Не очень понятно что тебе надо.
Получить ВСЕХ потомков? Тогда (для ИБ) только ХП с рекурсией.
Получить ТОЛЬКО потомков следующего уровня? Запроса хватит.
← →
Sergey_b (2006-09-15 14:58) [2]
> Получить ТОЛЬКО потомков следующего уровня? Запроса хватит.
Потомков всех уровней.
А как рекурсия будет останавливаться?
← →
Sergey13 © (2006-09-15 15:01) [3]> [2] Sergey_b (15.09.06 14:58)
> А как рекурсия будет останавливаться?
Как перестанет находить, так и встанет.
← →
Sergey_b (2006-09-15 15:05) [4]
> Как перестанет находить, так и встанет.
То есть сама? Или в ИБ есть что-то вроде exit?
← →
Sergey13 © (2006-09-15 15:28) [5]> [4] Sergey_b (15.09.06 15:05)
> То есть сама?
Если правильно напишешь, то да. 8-)
Поищи по форуму. Не так давно вроде кто-то давал тут такую процедуру.
← →
Sergey_b (2006-09-15 15:37) [6]Спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c