![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 вытащить все нужное одним махом?
Или я не понял ничего.