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




Вниз

Вложенный подзапрос. 


Sergey_R   (2002-03-23 19:13) [0]

Подскажите, пожалуйста!

Допустим, отработал некий Query,получив данные. Теперь надо из этих полученных данных другим запросом получить некий рез-тат.
Как?



DiggerAbstract   (2002-03-24 10:13) [1]

создаешь временную таблицу, записываешь в нее данные из первого запроса, выполняешь второй запрос из временной таблицы и фсё



Sergey_R   (2002-03-24 10:26) [2]

RE: DiggerAbstract
А проще никак нельзя сделать?
Может Query возвращает что-нибудь после выполнения запроса?
Может кэш какой-нибудь?



DiggerAbstract   (2002-03-24 14:34) [3]

нет - проще я не знаю, а со временными таблицами тоже не так уж и сложно



Delirium   (2002-03-24 17:27) [4]


> Sergey_R (24.03.02 10:26)
> RE: DiggerAbstract
> А проще никак нельзя сделать?
> Может Query возвращает что-нибудь после выполнения запроса?
> Может кэш какой-нибудь?


Что-бы там Query не возвращало, для исполнения SQL иструкций нужен SQL-сервер (в нашем случае, для ACCESS - ядро-Jet). Так что ничего более "простого" чем предлагает DiggerAbstract сделать нельзя принципиатьно, к тому-же инструкция типа:
select * into NewTable from OldTable на мой взгляд и так - проста до безобразия :)



Delirium   (2002-03-24 17:32) [5]

Хотя, ACCESS-2000 помимо всего вышесказанного позволяет и "прямые" вложенные запросы:
select *,1 from (select *,2 from (select *,3 from (select *,4 from (select *,5 from test ))))



TriNeT   (2002-03-25 06:20) [6]

А если попробавать такую фишку (если используется ACCESS). В базе данных формируем "Запрос", в котором выполняем все те действия, которые делает Вами упомянутый Query. А в программе мы обращаемся именно к "Запросу", указывая свои критерии выборки.

Я правда мог и "накосячить" со своим объяснением, но в MS SQLServer я пользовался именно такой конструкцией (правда там она называется ВИД (VIEW)). А вроде бы в ACCESS аналогом ВИДа является именно ЗАПРОС, который по отношению к программе выглядит как обычная таблица (в отношении чтения).



aus   (2002-03-25 10:27) [7]

В Access можно создать и view, он не будет отображаться в списке сохраненных запросов, но получить из него данные можно при помощи SQL из приложения. А сохраненные запросы - это просто хранимые процедуры.



DiggerAbstract   (2002-03-25 10:29) [8]

понимаешь - вьюшки создаются постоянными, а временные таблицы уничтожаются после закрытия коннекции, и еще ко вьюшке имеют доступ все запущенные экземпляры, а временная таблица видна только в одной сессии



Lord Warlock   (2002-03-26 09:35) [9]

Можно попробовать Exists




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




Наверх





Память: 0.73 MB
Время: 0.034 c
14-46509          Morfey                2002-03-08 09:35  2002.04.15  
Народ, а давайте игру соберём


3-46216           Nest                  2002-03-22 10:02  2002.04.15  
Как программно определить тип ключа (clustered/nonclustered) существующей таблицы в БД?


14-46496          Merlin                2002-03-07 12:36  2002.04.15  
Дохлый осел (перевод с английского)


1-46307           Glonia Zbanov         2002-04-03 15:22  2002.04.15  
WM_GETMINMAXINFO сразу для всех форм


6-46466           Aleksey_K             2002-02-04 10:36  2002.04.15  
pop3