Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prakt_5.doc
Скачиваний:
1
Добавлен:
16.11.2019
Размер:
59.39 Кб
Скачать
  1. Создание запроса из двух таблиц.

Задание 7: К ранее созданному запросу добавьте результаты экзаменационной сессии студентов.

Для этого выполните следующие действия:

  • В окно конструктора запросов добавьте таблицу «Сессия», нажав кнопку Add Table панели инструментов Query Designer и выбрав из списка нужную таблицу.

  • На вкладке Fields из списка Available fields в список Selected fields добавьте поля сессия.eczam1, сессия.eczam2, удалите поле анкета.g_rogd и поле, содержащее адрес и телефон.

  • На вкладке Filter удалите все условия фильтрации записей. В поле Field Name выберите Анкета.nom. В списке Criteria выберите значение (==).В столбце Example введите Сессия.nom

  • На вкладке Miscellaneous поставьте флажок No duplicates, чтобы не происходило дублирование записей в запросе.

  • Запустите запрос на выполнение.

  1. Изменение наименований полей в запросе.

Visual FoxPro по умолчанию присваивает полям результирующей таблицы запроса наименования, которые имеют поля исходной таблицы. Для изменения наименования полей в запросе необходимо выполнить следующие действия:

  • Перейдите на вкладку Fields.

  • Введите в поле Function and expressions анкета.fio AS ФИО.

  • Нажмите кнопку Add.

  • Кнопкой Remove удалите анкета.fio из списка Selected fields.

  • Аналогично измените наименования остальных полей.

  • Запустите запрос на выполнение. Просмотрите и закройте запрос.

  • Сохраните созданный запрос под именем Анкета-Сессия.

  1. Создание запроса из двух таблиц с использованием условий выборки.

Задание 8. Выберите из базы данных всех студентов, которые сдали сессию на "хорошо" и "отлично". Для этого выполните следующие действия:

  • Сохраните все условия запроса задания 7.

  • Перейдите на вкладку Filter.

  • Во второй строке условий фильтрации в поле Field Name выберите из списка Сессия.eczam1.

  • В поле Criteria выберите операцию >=.

  • В поле Example укажите 4.

  • Аналогично создайте третью строку для поля таблицы Сессия.eczam2.

  • Запустите запрос на выполнение. Просмотрите и закройте запрос.

  • Сохраните созданный запрос под именем Хорошисты.

  1. Создание одномерной перекрестной таблицы.

Задание 9. Подсчитайте количество "хорошистов" в каждой группе.

Для этого выполните следующие действия:

  • На вкладке Fields из окна Selected fields удалите все поля кнопкой Remove All.

  • Из поля Available fields выберите поле Анкета.group и нажмите на кнопку Add.

  • Вызовите построитель выражений рядом с окном Functions and expressions и в его окне постройте выражение COUNT(сессия.eczam1). Дайте обоим полям русские наименования, как было описано в пункте 14 (“Группа”,“Количество хорошистов”)

  • Перейдите на вкладку Join, на которой отображаются связи между таблицами. Выделите связь между таблицами Анкета и Сессия и удалите ее кнопкой Remove (это необходимо для корректной работы функции COUNT).

  • Перейдите на вкладку Filter. Там должны быть заданы следующие условия фильтрации:

Анкета.nom == Сессия.nom AND

Сессия.eczam1 >= 4 AND

Сессия.eczam2 >= 4

  • Перейдите на вкладку Order By и укажите, что данные должны упорядочиваться по значению поля Анкета.group.

  • Перейдите на вкладку Group By и укажите, что данные должны группироваться по значению поля Анкета.group.

  • Запустите запрос на выполнение. Просмотрите и закройте запрос.

  • Сохраните созданный запрос под именем Хорошисты1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]