Объявление запроса внутри сложного запроса Access

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Андрей гость
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 21.09.2005 (Ср) 21:11

Объявление запроса внутри сложного запроса Access

Сообщение Андрей гость » 15.10.2005 (Сб) 14:11

Имеется сложный запрос с вложенным запросом, который (вложенный запрос) включает запрос
на объединение (назовем их Х1, Х2, Х3). Каждый запрос Х1, Х2, Х3 имеет
свой вложенный запрос, одинаковый у всех троих.
Как объявить этот запрос типа (...) As Tmp, а потом использовать его в
этих трех запросах под именем Tmp?
Помогите профи.
Ученье свет, а не ученых тьма!

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 17.10.2005 (Пн) 17:49

Если я ничего ни с чем не путаю, то в Access можно только его вынести в отдельный запрос, а потом этот запрос использовать в X1, X2, X3.

В MSSQL можно было бы написать хранимую процедуру со временной таблицей.

Но что-то мне подсказывает, что это все все равно на производительность никак не повлияет - только на читабильность.

А в чем проблема? Большой запрос, медленно работает?
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 17.10.2005 (Пн) 18:31

Тот же принцип, что и в сиквеле, только таблица здесь будет постоянной. В смысле, создаваться она будет как постоянная, а по характеру и предназначению, конечно, временная.
Код: Выделить всё
create table My_Tmp
(Id int not null,
остальные_поля)

-- Заполняем ее и работаем с ней
...

-- Удаляем
drop table My_Tmp

Андрей гость
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 21.09.2005 (Ср) 21:11

Сообщение Андрей гость » 18.10.2005 (Вт) 21:27

Большое спасибо за помощь.
Да проблем особо то нет, вот только когда много запросов то начинаеш путаться какой что выполняет.
А вот создавать постоянную таблицу, значит раздувать величину базы, потому что програмно сжать и востановить базу не получается
Ученье свет, а не ученых тьма!

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 19.10.2005 (Ср) 10:59

Андрей гость писал(а):А вот создавать постоянную таблицу, значит раздувать величину базы, потому что програмно сжать и востановить базу не получается

Это ты по поводу Create Table? Так ты же потом ее удаляешь...

По поводу сжать и восстановить не получается - это почему?
ADO - Microsoft Jet and Replication objects - CompactDatabase
DAO - DBEngine.ComactDatabase
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList