Вниз
Скачать: CL | DM;

TADOQuery   Найти похожие ветки 

 
Apl   (2006-02-02 16:38) [0]

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


 
Sergey13 ©   (2006-02-02 16:42) [1]

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


 
apl   (2006-02-02 16:52) [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) или показать все элементы справочника указывая сколько раз использован в таблице


 
msguns ©   (2006-02-02 17:47) [3]

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



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
2-1138724763
Arazel
2006-01-31 19:26
2006.02.19
Как удалить запись раз и на всегда (AdoTable)


15-1137983713
gofer
2006-01-23 05:35
2006.02.19
ОПРОС: Какой у вас мобильник?


2-1138887535
Apl
2006-02-02 16:38
2006.02.19
TADOQuery


15-1138543085
kaZaNoVa
2006-01-29 16:58
2006.02.19
Разочарование в онлайн-играх ...


15-1138191869
Pazitron_Brain
2006-01-25 15:24
2006.02.19
CDMA телефон




   Наверх