Вниз
Скачать: 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.018 c
14-43756
Andersen
2004-02-18 15:07
2004.03.14
Помогите советом, (Откос от армии)


14-43890
Думкин
2004-02-20 15:39
2004.03.14
С днем рождения! 20 февраля.


6-43734
Kacnep
2003-12-29 18:03
2004.03.14
Что то типа tracert


1-43507
Mihey
2004-02-28 13:46
2004.03.14
Убрать фокус


1-43593
Senator
2004-02-27 10:44
2004.03.14
Запрет на нажатие клавиши




   Наверх