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

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

Вложенный подзапрос. [D5, *.mdb]


Sergey_R ©   (2002-03-23 19:13:00) 

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

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


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

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


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

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


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

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


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

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

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


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

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


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


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


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


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

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


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

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


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

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


Наверх

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