ACCESS Перекрестные запросы
Перекрестные запросы делают тоже самое, что и запросы с вычислением и группировкой, но в структуре, облегчающей их анализ. Перекрестный запрос выполняет вычисления, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
Сравнение обычного и перекрестного запросов Обычный запрос Перекрестн ый запрос Распределение числа студентов по годам рождения
Создание перекрестного запроса Перекрестный запрос строится с помощью мастера. Если данные для запроса находятся в одной таблице, то запрос строится на основе этой таблицы. Если данные для запроса находятся в нескольких таблицах, то сначала нужно создать простой запрос, содержащий поля этих таблиц, а потом, на его основе, строится перекрестный запрос.
Пример 1 Получить распределение количества студентов в группах по году рождения. Все поля, необходимые для запроса находятся в таблице Студенты.
Пример 1 Для создания запроса нужно выполнить:
Пример 1 В окне выбрать таблицу Студенты и нажать Далее:
Пример 1 Выбрать поле Группа, которое будет использоваться в качестве заголовков строк, и нажать Далее
Пример 1 Выбрать поле Дата рождения, которое будет использоваться в качестве заголовков столбцов, и нажать Далее
Пример 1 Так как выбрано поле типа Дата/Время, то выбрать временной интервал Год нажать Далее
Пример 1 Выбрать тип вычислений, которые необходимо выполнить для ячейки, находящейся на пересечении строки и столбца. У нас подсчет количества студентов, поэтому выбираем Число. Нажать Далее
Пример 1 Дать имя запросу и нажать Готово
Пример 1 Результат:
Пример 2 Создать перекрестный запрос «Распределение оценок в группе», подсчитывающий количество различных оценок в данной группе по каждому экзамену. Номер группы параметр запроса. Названия строк экзамены. Названия столбцов оценки.
Пример 2 Для получения необходимого результата необходимы поля нескольких таблиц, поэтому сначала создается запрос (Запрос1), содержащий поля этих таблиц.
Пример 2 Для группы 9701:
Пример 2 Теперь на основе этого запроса построим перекрестный запрос. Для этого:
Пример 2 В окне выбрать запрос Запрос1, на основе которого будем строить перекрестный, и нажать Далее:
Пример 2 Выбрать поле Экзамен, которое будет использоваться в качестве заголовков строк, и нажать Далее
Пример 2 Выбрать поле Оценка, которое будет использоваться в качестве заголовков столбцов, и нажать Далее
Пример 2 Выбрать тип вычислений, которые необходимо выполнить для ячейки, находящейся на пересечении строки и столбца. У нас подсчет количества оценок, поэтому выбираем Число. Нажать Далее
Пример 2 Прежде чем просмотреть результат запроса дадим ему имя, выберем переключатель Изменить структуру запроса.
Пример 2 Нажмем кнопку Готово и получим наш запрос в режиме конструктора.
Пример 2 Для перекрестного запроса с параметром необходимо специальным образом этот параметр объявить. Для этого выполните команду Запрос, Параметры.
Пример 2 Укажите тот же параметр, что и в бланке основного запроса, выберите тип данных и нажмите ОК
Пример 2 Запустим запрос на выполнение. Результат: