![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отсортировать дерево в оракле??Не нарушая структуры...
Julya © (2004-02-17 09:38:00)
Есть дерево подразделений, но надо его вывести, отсортировав по одному из полей. Пробовала использовать ORDER BY, нарушается структура дерева. Кто сталкивался с подобной проблемой, прошу, помогите пожалуйста!!!!
Вот дерево:
select
level, a.id, a.dept_id, a.name, a.sort_num
from hr_dept a
start with a.id = 336 // к примеру
connect by prior a.id = a.dept_id
--order by sort_num - не работает!!!
Julya (2004-02-17 10:06:00) [1]
нашла функцию для 9-ки:
ORDER SIBLINGS BY NAME;
всем большое спасибо!!!!-)
Reindeer Moss Eater (2004-02-17 09:59:00) [2]
Есть дерево подразделений, но надо его вывести, отсортировав по одному из полей. Пробовала использовать ORDER BY, нарушается структура дерева.
Если надо сортировать по полю, то зачем деревянный запрос?
И напротив - если деревянный запрос, то зачем его сортировать по какому бы то нибыло полю?
Если же речь идет о сортировке по полю в переделах иерархии ветки, то почти всегда можно заселектить псевдополе-выражение, сортировка по которому не нарушит иерархию.
Карелин Артем (2004-02-17 09:53:00) [3]
Я оракл не юзаю, но в IB я бы сделал вложенные циклы на выбор данных с сортировкой во внутреннем цикле. В хранимой процедуре...
Julya (2004-02-17 09:51:00) [4]
у меня 9 стоит... спасибо, пойду на sql.ru поищу!!!
Sergey13 (2004-02-17 09:45:00) [5]
В 8 гарантировано никак. Можно поэкспериментировать с индексами (указать хинтом конкретный индекс), но може аукнуться в производительности. В 9 вроде появилась какая то фича, но я не юзал 9, поэтому не знаю.
На SQL.RU были такие вопросы.