Як зробити запит за результатами запитів
У мене є два Query в кожному з них свій запит до БД. Мені треба зробити ще один SQL запит але вже за результатами тих двох запитів. Підкажіть як таке реалізувати?
Вкладені SELECT або UNION
СУБД Paradox + BDE.
Вкладені SELECT і UNION не підійдуть, тому що перші два запити вже мають дуже складну структуру з UNION і додавати щось туди вже важко і крім того перші запити з різних АЛІАС
DbiMakePermanent (SourceQuery.Handle, RName, false);
> DbiMakePermanent (SourceQuery.Handle, RName, false);
А можна коментар до цього і з чим це їдять?
В повноцінної SQL DB можна було б використовувати конструкцію типу WHERE EXISTS (SELECT.), Або для спрощення використовувати проміжні VIEW або курсори. У Paradox можна спробувати використовувати тимчасові таблиці з проміжними вибірками
А як дклаются тимчасові таблиці з проміжними вибірками?
Вирізка з BDE32.hlp (знайди його у себе):
This function is used to change a temporary table, created with DbiCreateTempTable, into a permanent table, that is, one that will not be deleted when the cursor is closed with DbiCloseCursor. DbiSaveChanges can also be used to make the temporary table permanent, but the table is flushed out to disk immediately. With DbiMakePermanent, buffers are flushed to disk when convenient, or when the cursor is closed. The table is renamed to pszName if different from NULL.
hCursor Type: hDBICur (Input)
Specifies the cursor handle.
pszName Type: pCHAR (Input)
Pointer to the name of the permanent table.
bOverWrite Type: BOOL (Input)
If set to TRUE, overwrites the existing file.
Створюєте порожні таблиці з потрібною структурою, заповнюєте їх даними за потрібною критерієм, а потім можна використовувати в якості джерел даних для подальших вибірок