Главная страница
    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
15-1282842079
alien1769
2010-08-26 21:01
2010.12.05
Радостное событие


3-1248425517
Анна
2009-07-24 12:51
2010.12.05
импорт данных из MSSQL2000 в MSSQL2005


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


15-1283121955
George
2010-08-30 02:45
2010.12.05
Путь к БД - захардкодить или как?


15-1282768183
Юрий
2010-08-26 00:29
2010.12.05
С днем рождения ! 26 августа 2010 четверг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский