Microsoft Access 2007
Шрифт:
Составьте запрос, подсчитывающий количество товаров в таблице Товары .
1. Откройте базу данных Отдел продаж .
2. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
3. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Товары . Нажмите кнопку Закрыть .
4. Дважды щелкните кнопкой мыши на названии поля Код , чтобы добавить его в выборку.
5. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги . В бланке запроса появится строка Групповая операция .
6. В строке Групповая операция для поля Код выберите в раскрывающемся списке функцию Count .
Текст итогового запроса приведен в листинге 6.10.
Листинг 6.10.
Запрос на подсчет количества записей
SELECT Count(Товары. Код) AS [Count-Код]
FROM Товары;
7. Перейдите на вкладку Конструктор и выберите команду Выполнить .
Что же делать, если требуется подсчитать количество товаров с ценой более 1000 руб.? Измените созданный запрос.
1. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите из контекстного меню команду Конструктор .
2. Дважды щелкните кнопкой мыши на названии поля Цена , чтобы добавить его в выборку.
3. В строке Групповая операция для поля Цена выберите из раскрывающегося списка значение Условие .
4. В строке Условие отбора для поля Цена введите условие > 1000.
Результирующий бланк итогового запроса с условием показан на рис. 6.22.
Рис. 6.22. Результирующий бланк итогового запроса с условием
Текст итогового запроса с условием приведен в листинге 6.11.
Листинг 6.11.
Запрос на подсчет количества записей с условием
SELECT Count(Товары. Код) AS [Count-Код]
FROM Товары
WHERE (((Товары. Цена)>1000));
5. Перейдите на вкладку Конструктор и выберите команду Выполнить . В выборке остались две записи, которые удовлетворяют условию.
Вы можете составить итоговый запрос с подсчетом записей и использованием группировки. Для этого подсчитайте количество клиентов для каждого значения поля Рейтинг . Следуйте нижеприведенным указаниям.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Клиенты . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Номер и Рейтинг , чтобы добавить поля в выборку.
4. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги . В бланке запроса появится строка Групповая операция .
5. В строке Групповая операция для поля Номер выберите в раскрывающемся списке функцию Count .
6. В строке Групповая операция для поля Рейтинг выберите в списке функцию Группировка .
Результирующий бланк итогового запроса с группировкой показан на рис. 6.23.
Рис. 6.23. Результирующий бланк итогового запроса с группировкой
Текст итогового запроса с группировкой приведен в листинге 6.12.
Листинг 6.12.
Запрос на подсчет количества записей с группировкой
SELECT Count(Клиенты. [Номер (ID)]) AS [Count-Номер (ID)], Клиенты.
Рейтинг
FROM Клиенты
GROUP BY Клиенты. Рейтинг;
7. Перейдите на вкладку Конструктор и выберите команду Выполнить (рис. 6.24).
Рис. 6.24. Результат выполнения итогового запроса с группировкой
Вы можете видеть, что найдены две записи о клиентах с рейтингом 1000 и одна – с рейтингом 1500 (см. рис. 6.24).
Теперь составьте запрос так, чтобы выбиралась запись о товаре с максимальной ценой. Для этого выполните следующие действия.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Товары . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Код , Наименование , Описание , Цена , чтобы добавить поля в выборку.
4. В бланке запроса в строке Условие отбора для поля Цена введите условие In (SELECT MAX(Цена) FROM Товары). Такое условие означает, что сначала будет выполнен подзапрос, находящий максимальное значение цены на товар. Запись о товаре будет выведена только в том случае, если значение поля Цена совпадает с найденной максимальной ценой.
Результирующий бланк итогового запроса показан на рис. 6.25.
Текст итогового запроса приведен в листинге 6.13.
Листинг 6.13.
Запрос на выборку записи с максимальным значением поля
SELECT Товары. Код, Товары. Наименование, Товары. Описание, Товары. Цена
FROM Товары
WHERE (((Товары. Цена) In (SELECT MAX(Цена) FROM Товары)));
5. Перейдите на вкладку Конструктор и выберите команду Выполнить . Результат запроса показан на рис. 6.26.
Рис. 6.26. Результат выполнения итогового запроса на поиск записи с максимальным значением поля
Вы видите, что выборка содержит одну запись о товаре, цена на который в таблице Товары является максимальной. Аналогично можно найти товар с минимальной ценой, используя функцию MIN .
Часто для анализа данных требуется выборка из нескольких таблиц. В каче стве примера выведите список клиентов с подсчетом общей суммы их заказов.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названиях таблиц Клиенты и Заказы . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Номер , Имя , Телефон , Адрес , Рейтинг таблицы Клиенты и поля Цена таблицы Заказы , чтобы добавить поля в выборку.
4. Теперь дважды щелкните кнопкой мыши на связи между таблицами. Откроется окно Параметры объединения (рис. 6.27).