Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TADOQuery [D7, MSSQL]


Apl ©   (2006-02-02 16:38:00) 

Помогите.
Возможно ли из одного TADOQuery (TQuery и т.п.) обращаться к результату запроса выполненного в другом TADOQuery.
Что-то типа: Есть некая таблица (справочник категорий) порядка 1000 записей моделирующих древовидную структуру. Есть вторая таблица в которой используются данные этого справочника (порядка 100 вариантов и 30000 записей). Нужно подсчитать сколько каких категорий используется и отобразить вместе с названием в TreeView.
По отображению проблем нет :)), но когда выполняеш многократно запросы для каждой категоии - основная масса - пустышки, т.к. эти категории не использованы а время расходуется ну очень много. Очень бы хотелось сормировать промежуточный запрос в первом TADOQuery типа
Select id,cnt(*) from table1(написал в нотации FoxPro :))))
а из второго запрашивать уже не большую таблицу а
этот промежуточный результат.


msguns   (2006-02-02 17:47:00) [1]

Jet (ADO) понимает вложенные запросы: Select bla-bla-bla from (Select)
В Local SQL (BDE) делается через сохранение текста "внутреннего" запороса в текстовый файл, а к нему уже обращение из "внешнего".


apl   (2006-02-02 16:52:00) [2]

Одним махом можно подсчитать и это - просто.
Кроме подсчета нужно отобразить в TreeView название элемента справочника и, если он использовался, кол-во
Элементы справочника имеют код который и определяет структуру отображаемого дерева
id1   Элемент 1        001000
id2   Элемент 1.1     001100
id3   Элемент 1.1.1  001110
id4   Элемент 1.1.2  001120
id5   Элемент 2       002000 и т.д.
Нужно показать или только те которые реально использовались (запрос c group by) или показать все элементы справочника указывая сколько раз использован в таблице


Sergey13   (2006-02-02 16:42:00) [3]

Может просто надо одним запросом с group by вытащить все нужное одним махом?
Или я не понял ничего.


Наверх

Титульная страница Поиск, карта сайта Написать письмо