Тема 3.3. Итоговые запросы и отчеты

1. Создание запросов с групповыми операциями над данными

2. Формирование итогового отчета

 

 Запросы, выполняющие вычисления в группах записей, назы­ваются итоговыми запросами. Такими вычислениями могут быть: суммирование значений некоторого числового поля, нахождение наибольшего или наименьшего значения, вычисление среднего,подсчет количества каких-то конкретных значений и некоторые другие.

Рассмотрим следующий пример: нужно подсчитать число от­личников по информатике по итогам учебного года для каждого классе школы Для выполнения этого задания требуется сгруппировать записи из таблицы «Успеваемость» по классам, отобрать за­писи, относящиеся к предмету «Информатика», среди них выбрать лишь те, в которых годовая оценка «5» и подсчитать число таких записей.

Порядок выполнения задания в MS Access следующий:

1) открыть окно Конструктора запросов и добавить в него та­блицу «Успеваемость»;

2) в столбцах бланка запроса поместить поля КЛАСС, ПРЕД­МЕТ, ГОД, ГОД;

3) выполнить команду Групповые операции для добавления в бланк запроса строки «Групповая операция» (рис. 4.28).

После этого во всех полях в игроке «Групповая операция» уста­навливается значение «Группировка».

Для поля ПРЕДМЕТ нужно ввести условие «= информатика». Поле ГОД повторено дважды. В первом столбце указывается усло­вие на выбираемые значения годовых оценок. Это условие «=5». Во втором столбце нужно установить итоговую функцию Итого­вая функция выбирается из списка, который открывается, если щелкнуть по кнопке в клеточке на пересечении строки «Группо­вые операции» и второго поля ГОД. Функция подсчета количества в этом списке имеет имя «Count». Окончательный вид запроса приведен на рис. 4.28.

А вот как записывается эти команда на SQL.:

 

SELECT Успеваемость. КЛАСС, Успеваемость. ПРЕДМЕТ,

Успеваемость. ГОД, Court (Успеваемость. ГОД) AS[Count-ГОД]

FROM Успеваемость

GROUP BY Успеваемость, КЛАСС, Успеваемость. ПРЕДМЕТ,

Успеваемость. ГОД

HAVING (((Успеваемость. ПРЕДМЕТ)="информатика") AND

((Успеваемость.ГОД)=5));

 

Результатом этот запроса будет таблица на рис. 4.29. Смысл результата следующий: в 8а классе по информатике одна пятерка; в 8б классе — три пятерки и т.д.

В следующем запросе для каждого класса определяется сумма годовых оценок по информатике. Здесь группировка производит­ся подвум полям: КЛАСС н ПРЕДМЕТ=«информатика». Вгруппах записей с одинаковыми значениями этих полей суммируются го­довые оценки. Функция суммирования для группы записей значений числового поля имеет имя SUM. С использованием конструк­тора запрос формулируется так, как показало на рис. 4.30.

В результате выполнения этого запроса получим таблицу, при веденную па рис. 4.31.

       Рассмотрим запрос для реализации которого будут использоваться данные из всех трех таблиц БД: "Классы», «Ученики» и «Успеваемость» (рис. 4.32).

Пусть требуется получить список всех отличников по итогам года, по каждому предмету среди учеников 9-х классов. В итоговой таблице нужно указать класс, классного руководителя, фамилию и имя ученика и предмет, по которому он получил годовую оценку «5».

Результатом выполнения такого запроса будет таблица, пред­ставленная на рис. 4.33.

Если полученный список нужен для администрации школы в виде печатного документа, то в такой форме он не удобен. Печат­ные документы, соответствующие определенным правилам оформ­лении, называются отчетами. В СУБД предусмотрена возмож­ность получения отчетов. Информация для отчетов может быть извлечена как из исходных таблиц, так и из результатов запросов.

В СУБД MS Access наиболее гибкий способ создание отчета — использование Конструктора. Конструктор отчетов позволяет


формировать требуемую структуру документа, оформление: шрифты,стили, заливки и пр. С помощью Мастера отчетов можно получать документы в нескольких стандартных форматах. Доку­мент, созданный с помощью Мастера, можно редактировать, ис­пользуя Конструктор отчетов.

На основе полученного ранее запроса был создан отчет, приве­денный на рис. 4.34.

 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: