Вниз
Скачать: CL | DM;

Как отсортировать дерево в оракле??Не нарушая структуры...   Найти похожие ветки 

 
Julya   (2004-02-17 09:38) [0]

Есть дерево подразделений, но надо его вывести, отсортировав по одному из полей. Пробовала использовать 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 - не работает!!!


 
Sergey13 ©   (2004-02-17 09:45) [1]

В 8 гарантировано никак. Можно поэкспериментировать с индексами (указать хинтом конкретный индекс), но може аукнуться в производительности. В 9 вроде появилась какая то фича, но я не юзал 9, поэтому не знаю.
На SQL.RU были такие вопросы.


 
Julya   (2004-02-17 09:51) [2]

у меня 9 стоит... спасибо, пойду на sql.ru поищу!!!


 
Карелин Артем ©   (2004-02-17 09:53) [3]

Я оракл не юзаю, но в IB я бы сделал вложенные циклы на выбор данных с сортировкой во внутреннем цикле. В хранимой процедуре...


 
Reindeer Moss Eater ©   (2004-02-17 09:59) [4]

Есть дерево подразделений, но надо его вывести, отсортировав по одному из полей. Пробовала использовать ORDER BY, нарушается структура дерева.

Если надо сортировать по полю, то зачем деревянный запрос?
И напротив - если деревянный запрос, то зачем его сортировать по какому бы то нибыло полю?

Если же речь идет о сортировке по полю в переделах иерархии ветки, то почти всегда можно заселектить псевдополе-выражение, сортировка по которому не нарушит иерархию.


 
Julya   (2004-02-17 10:06) [5]

нашла функцию для 9-ки:
ORDER SIBLINGS BY NAME;
всем большое спасибо!!!!-)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
4-43949
kor@lex
2004-01-06 20:28
2004.03.14
hint


1-43567
Petrovich
2004-02-26 16:38
2004.03.14
Как отловить принудительное завершение своего приложения?


14-43780
Cerber
2004-02-18 16:39
2004.03.14
Работа в инте


4-43962
Saimon
2004-01-04 06:55
2004.03.14
???... Регистрация


3-43395
va
2004-02-17 18:11
2004.03.14
репликация в interbase




   Наверх