Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.12.05;
Скачать: [xml.tar.bz2];

Вниз

Oracle. connect by prior. Порядок возвращения записей   Найти похожие ветки 

 
12 ©   (2010-08-25 14:30) [0]

пусть имеется иерархия

ТЕСТ
 ТЕСТ2
 ТЕСТ33
     ТЕСТ4
     ТЕСТ5
     ТЕСТ6
        ТЕСТ7


получаем ее запросом

    select LEVEL, s.* from subscriber s                  
    where s.filial_id = 13
    start with s.id_subscriber = 4234                    
    connect by prior s.id_subscriber = s.up_id;


1 4234   ТЕСТ
2 4235 4234  ТЕСТ2
2 4236 4234  ТЕСТ33
3 4237 4236  ТЕСТ4
3 4239 4236  ТЕСТ5
3 4240 4236  ТЕСТ6
4 4241 4240  ТЕСТ7


т.е. все получили так, что можно строить иерархию прямо идя сверху вниз

вопрос
А не может ли так быть, что вернется
1 4234   ТЕСТ
2 4236 4234  ТЕСТ33
2 4235 4234  ТЕСТ2

3 4237 4236  ТЕСТ4
3 4239 4236  ТЕСТ5
3 4240 4236  ТЕСТ6
4 4241 4240  ТЕСТ7


и, получается, что уже не возможно построить, не заглядывая вперед!

так может вернуться dataset по второму варианту или нет? (сколько раз не пробовал - нет. Но вдруг?)


 
Petr V. Abramov ©   (2010-08-25 14:39) [1]


> так может вернуться dataset по второму варианту или нет?
>  (сколько раз не пробовал - нет. Но вдруг?)
>

запросто может.
чтоб гарантированно отсортировать "правильно", начиная, по-моему, с 9-ки, есть волшебное слово order siblings by, но в 10-ке оно периодически глючит, валится по 600-й ошибке, лечится патчем до 10.2.0.4, который я не ставил, ничего сказать по него не могу.


 
12 ©   (2010-08-25 14:47) [2]

спасибо, Петр!

Надо чтоб гарантировано работало на всех, в т.ч и на 8 :)
придется пересмотреть построение..


 
Игорь Шевченко ©   (2010-08-25 14:51) [3]


> придется пересмотреть построение..


order by в конце запроса не поможет ?


 
Petr V. Abramov ©   (2010-08-25 14:53) [4]


> Игорь Шевченко ©   (25.08.10 14:51) [3]

не поможет, сортировка по иерархии слетит.


 
12 ©   (2010-08-25 14:56) [5]

да, в общем случае, слетит
пробовал уже


 
Dennis I. Komarov ©   (2010-08-26 16:17) [6]

Первое поле не имеет смысл, а вот сделать уникальный ключ для каждого родителя - поможет.



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

Форум: "Прочее";
Текущий архив: 2010.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
2-1284444480
ZV
2010-09-14 10:08
2010.12.05
Компонент ListBox


8-1208085390
Sergey
2008-04-13 15:16
2010.12.05
Изменение скорости воспроизведения видео


2-1284465557
azamatufa
2010-09-14 15:59
2010.12.05
Как в D7 сделать обновление структуры БД FireBird


15-1281077307
начинающая
2010-08-06 10:48
2010.12.05
добавить таблицы в *.mdb


15-1283183477
puding
2010-08-30 19:51
2010.12.05
диалоговое окно.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский