Запрос данных из нескольких таблиц
Итоговый запрос
Теперь построим запрос, который считает общую стоимость каждого заказа (рис. 3.42).
Рис. 3.42
Как видно из рис. 3.42, нам нужны номер и дата заказа (из таблицы Заказы) и цены блюд (из таблицы Блюда), которые нужно как-то сложить. Посмотрев на схему соединения таблиц, легко понять, что для правильного объединения данных нужно добавить в запрос таблицу Заказано, хотя ни одно её поле в результате запроса не выводится.
Создадим новый запрос в режиме дизайна и добавим в рабочую область таблицы Заказы, Заказано и Блюда. Перетащим в бланк запроса нужные поля и введём правильные заголовки столбцов (как на образце) в строке Псевдоним. Если выполнить этот запрос, мы увидим цены отдельных блюд, а не общую стоимость.
Чтобы подсчитать сумму цен по каждому заказу, в поле Цена найдём строку Функция 1 и там выберем вариант Сумма. Кроме того, надо указать, какие группы записей объединять при суммировании. Для этого в той же строке Функция в полях запроса Номер и Дата выберем вариант Group (Группировка). Это значит, что сумма считается для каждой уникальной комбинации «номер запроса - дата». Поскольку у нас номер заказа уникальный, фактически будет рассчитана сумма каждого заказа. Выполним запрос и проверим, что он работает правильно. Теперь можно закрыть окно Конструктора, сохранив запрос под именем ЗапросКОплате. Запустим запрос двойным щелчком и настроим формат вывода данных.
1 В Microsoft Access эта строка называется Групповая операция. Чтобы она появилась в бланке запроса, нужно щёлкнуть по кнопке Итоги на вкладке Конструктор.
Кроме функции Сумма в итоговых запросах можно использовать и другие функции, например количество, среднее значение, минимум, максимум.
Следующая страница Формы