#sql #oracle #hierarchical-data #recursive-query
#sql #Oracle #иерархический-данные #рекурсивный запрос
Вопрос:
У меня есть таблица в виде
Я хочу создать SQL или процедуру для извлечения значений, как показано ниже
FolderPath LeafFolderID
Dept/CSE/Cfolder 100
Dept/Mech 10
Team/HR 22
Settlement 3
Пожалуйста, дайте мне знать, как этого добиться?
Комментарии:
1. Вам нужен рекурсивный / иерархический запрос. Какую версию Oracle вы используете?
2. Версия Oracle 12c
Ответ №1:
Это connect by
выполняет свою работу:
select folderid, ltrim(sys_connect_by_path(foldername, '/'), '/') path
from t
where connect_by_isleaf = 1
connect by folderparentid = to_char(prior folderid)
start with folderparentid = 'Root'