Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
древовидная структура
|
|||
|---|---|---|---|
|
#18+
Есть такая проблема: существует процедура, которая от любого элемента структуры показывает всех его родителей. BEGIN WHILE (:ID > 0) DO /* ищем до корня */ BEGIN SELECT t.ID, t.PARENT, t.NAME FROM tree t WHERE t.ID = :ID INTO :DID, :OID, :NAME; ID = :OID; /* код родителя для следующей выборки */ SUSPEND; END END Структура таблицы такая: ID PARENT NAME 1 0 Родитель1 2 1 Потомок1 3 1 Потомок2 4 2 Потомок3 Мне же нужно наоборот, для корневого элемента показать всех его потомков, а для самого нижнего - только себя. Помогите кто сталкивался с такой проблемой. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 15:45 |
|
||
|
древовидная структура
|
|||
|---|---|---|---|
|
#18+
Чтобы сделать рекурсию наоборот (в данном случае это "обход дерева вниз"), то надо сравнивать по номеру PARENT. Т.е. запрос д.б. что-то вроде: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 16:54 |
|
||
|
древовидная структура
|
|||
|---|---|---|---|
|
#18+
Процедура выдает ошибку multiple rows in singleton select, так как при Вашем условии результатом будут 2 записи - потомок 1 и потомок 2. Но все равно спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 17:18 |
|
||
|
древовидная структура
|
|||
|---|---|---|---|
|
#18+
aleks_tПроцедура выдает ошибку multiple rows in singleton select, так как при Вашем условии результатом будут 2 записи - потомок 1 и потомок 2. Но все равно спасибо 1. Во-первых, я даже не знаю какую СУБД вы используете. 2. Все правильно. У родителя может быть несколько потомков. 3. Поэтому... (догадываясь) нужно использовать курсоры, чтобы можно было выбирать по несколько записей. 4. Почитайте (поищите) раздел Статьи на SQL.RU там про древовидные структуры есть материал. Думаю вы найдете то, что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 10:46 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33091165&tid=1347649]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 336ms |

| 0 / 0 |
