![]() |
Как это можно написать в виде запроса?
Скажем есть таблица, MenuItem
MenuItem --------- Id int primary key Name ntext ParentId int (foreign key на саму себя) Depth int (глубина вложенности) в качестве входного параметра задается число :id. Надо вывести весь список имен (Name) записей по иерархии вверх для данного :id в качестве первичного ключа. Например, Цитата:
Для 3, это будет "Test31, Test21, Test1", Для 4, "Test22, Test1". |
|
Цитата:
Код:
GO |
этот тип задач называется Nested Sets
погуглите, на эту тему много, что написано |
Цитата:
SELECT DECODE(level, 1, '', 2 , '- ', 3, '--', 4, '---')||name FROM MenuItem START WITH id = 1 CONNECT BY PRIOR id = parent_id |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Текущее время: 09:54. Часовой пояс GMT +5. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод:
OOO «Единый интегратор UZINFOCOM»