Сконструировать перекрестный запрос, который выдает следующую таблицу

Условие:

access Сконструировать перекрестный запрос, который выдает следующую таблицу. Заголовками строк являются номера групп, а заголовками столбцов – значения оценок (5, 4, 3, 2). На пересечении строк и столбцов указано количество пятерок, четверок, троек и двоек, полученных по информатике.

Решение:

Предмет: Информатика
Раздел: Базы данных, MS Access, перекрёстные запросы (Crosstab Query)


? Задача:

Сконструировать перекрёстный запрос в MS Access, который:

  • В строках отображает номера групп;
  • В столбцах отображает оценки (5, 4, 3, 2);
  • В ячейках — количество студентов, получивших соответствующую оценку по информатике.

? Структура базы данных:

Из изображения видно, что база данных состоит из следующих таблиц:

  • Группа (поля: НГ — номер группы)
  • Студент (поля: НС — номер студента, НГ — номер группы и др.)
  • Успеваемость (поля: НС — номер студента, ПР — предмет, ОЦЕНКА)

?️ Решение:

Чтобы создать перекрёстный запрос в MS Access, нужно:

1. Открыть вкладку Создание → Конструктор запросов

  • Добавить таблицы: Группа, Студент, Успеваемость

2. Установить связи:

  • Группа.НГСтудент.НГ
  • Студент.НСУспеваемость.НС

3. Указать нужные поля:

  • Из таблицы Группа: поле НГ (номер группы)
  • Из таблицы Успеваемость: поле ОЦЕНКА
  • Из таблицы Успеваемость: поле ПР (предмет)

4. Установить фильтр по предмету:

  • В поле ПРуказать условие:
    "информатика"

5. Настроить перекрёстный запрос:

  • Поле НГ(номер группы):
    • Групповая операция: Группировка
    • Перекрёстный: Заголовок строки
  • Поле ОЦЕНКА:
    • Групповая операция: Группировка
    • Перекрёстный: Заголовок столбца
  • Любое поле (например, НСиз таблицы Успеваемость):
    • Групповая операция: Count
    • Перекрёстный: Значение

? SQL-запрос (в режиме SQL):

TRANSFORM Count(Успеваемость.НС) AS Количество
SELECT Группа.НГ
FROM Группа
INNER JOIN (Студент INNER JOIN Успеваемость ON Студент.НС = Успеваемость.НС) ON Группа.НГ = Студент.НГ
WHERE Успеваемость.ПР = "информатика"
GROUP BY Группа.НГ
PIVOT Успеваемость.ОЦЕНКА;

✅ Результат:

Вы получите таблицу следующего вида:

НГ (№ группы)5432
1013210
1021321
...............

Если будут сложности с реализацией в Access — могу помочь и по шагам в интерфейсе.

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!
  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн