Я использую Firebird 2.1.Существует имя таблицы «Папки» со следующими полями:
FolderID
ParentFolderID
FolderName
ParentFolderID равен -1, если это корневая папка, в противном случае он содержит идентификатор родительской папки.
Следующий рекурсивный запрос вернетРодители папки, в следующем порядке:
WITH RECURSIVE hierarchy (folderid, ParentFolderId, FolderName) as (
SELECT folderid, ParentFolderId, FolderName
FROM folders
WHERE folderid = :folderid
UNION ALL
SELECT folderid, ParentFolderId, FolderName
FROM folders f
JOIN hierarchy p ON p.parentFolderID = f.folderID
)
SELECT List(FolerName, ' \ ') FROM hierarchy
Результат будет примерно таким:
Родитель \ Родитель \ Родитель \ Родитель
Какмогу ли я отменить результаты вышеуказанного запроса, чтобы получить:
Родительский родитель \ Parent \ Child?
Спасибо!