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

Вниз

Проблема с join в connect by запросе.   Найти похожие ветки 

 
EternalWonderer   (2001-12-25 10:01) [0]

Да ... ларчик просто открывался .... А вот продолжение этой задачки:
Дано: Таблицы CATALOG(ID,PARENT,CAPTION), LIST(ID_CAT,OTHER_FIELDS)
Задача: Присоединить данные второго запроса так, чтобы не нарушился порядок сортировки строк в первом запросе:
1) select ID,(LEVEL-1) L_PARENT,CAPTION
from CATALOG start with PARENT=0 connect by PRIOR ID=PARENT;
2) SELECT ID_CAT,count(*) FROM LIST group by ID_CAT;

Примечание. При выполнении отдельно первого запроса за каждым родителем выводятся его потомки. При попытке присоединить вторую таблицу вот так:

create view CAT as select ID,(LEVEL-1) L_PARENT,CAPTION
from CATALOG start with PARENT=0 connect by PRIOR ID=PARENT;

select ID,L_PARENT,CAPTION,COUNTS
from CAT,(select ID_CAT,count(*) COUNTS from LIST group by ID_CAT) where ID=TYPE_SI(+);

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

Заранее большое спасибо!


 
Mick   (2001-12-25 10:15) [1]

Oracle по умолчанию агрегаты сортирует глядя в поля из GropBy. Боюсь что для сохранения первоначального порядка дерева нужен связанный подзапрос


 
EternalWonderer   (2001-12-25 10:42) [2]

А нельзя ли привести маленький пример связанного подзапроса, или хотя бы в каком разделе справки об этом почитать? В разделе Hierarchical Queries справки Oracle о связанных подзапросах на слова ...


 
Mick   (2001-12-25 11:16) [3]

В древовидном запросе в список полей добавь выражение, вычисляющее количество
Select id, (Select count(det_id) from DetailTable where ParentId = Id) as Counts
From MasterTable



 
EternalWonderer   (2001-12-25 11:44) [4]

Спасибо за помощь и удачи!



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

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

Наверх





Память: 0.45 MB
Время: 0.004 c
1-90271
RomaRomaRoma
2002-01-09 19:29
2002.01.28
Язык текста в RichEdit


7-90401
l@z@
2001-10-14 22:31
2002.01.28
люди помогите! Форма, на ней поле ввода и лебел. Кнопка. нажимаем на кнопку


1-90310
Reals
2002-01-10 11:21
2002.01.28
Проверка: Откуда запущена прога...


1-90314
Teapot
2002-01-08 14:30
2002.01.28
Печать на матричный принтер


3-90188
Andrey_ask
2001-12-21 19:50
2002.01.28
Потеря записей





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