powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иерархический запрос на вывод полного адреса узлов дерева
3 сообщений из 3, страница 1 из 1
Иерархический запрос на вывод полного адреса узлов дерева
    #40100062
zuev56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с данными:

ID PARENT_ID NAME1 null 'Root 1'2 1 'Node 1.1'3 1 'Node 1.2'4 3 'Node 1.2.1'5 4 'Node 1.2.1.1'
Надо сделать запрос, который выводит для каждой записи полный адрес таким образом:

ID ADDRESS1'Root 1'2'Root 1 -> Node 1.1'3'Root 1 -> Node 1.2'4'Root 1 -> Node 1.2 -> Node 1.2.1'5'Root 1 -> Node 1.2 -> Node 1.2.1 -> Node 1.2.1.1'
Подскажите, пожалуйста, как можно решить эту задачу?

На данный момент получилось сделать вывод только для заданного узла (ID = 5), при том без самого этого узла:
'Root 1 -> Node 1.2 -> Node 1.2.1'
Так тоже устраивает, но в строке с результатом в данном случае не хватает столбца с ID этого узла, как в примере выше. Да и вывод для всех строк так не работает

Мой скрипт:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
WITH tmp as (
    SELECT NAME, LEVEL as n_level
    FROM MY_TREE
    START WITH ID = 5 
    CONNECT BY ID = PRIOR PARENT_ID
)
SELECT LISTAGG(NAME, ' -> ') WITHIN GROUP (ORDER BY n_level DESC)
FROM tmp;
...
Рейтинг: 0 / 0
Иерархический запрос на вывод полного адреса узлов дерева
    #40100064
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuev56
Подскажите, пожалуйста, как можно решить эту задачу?
SYS_CONNECT_BY_PATH
...
Рейтинг: 0 / 0
Иерархический запрос на вывод полного адреса узлов дерева
    #40100133
zuev56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никанор Кузьмич,

Да, спасибо! Видел это решение, но не разобрался до конца и отложил)

Код: plsql
1.
2.
3.
4.
SELECT ID, sys_connect_by_path(NAME, ' -> ') as ADDRESS
FROM MY_TREE
START WITH PARENT_ID is null
CONNECT BY PARENT_ID = PRIOR ID
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иерархический запрос на вывод полного адреса узлов дерева
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]