Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТУ_лаба №1.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
2.15 Mб
Скачать

З адание 2.19.

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

  1. Создайте новый запрос и добавьте в него таблицу "Персональные мероприятия".

  2. Добавьте в запрос копию таблицы "Персональные мероприятия", повторно нажав кнопку "Добавить". Access присваивает копии имя "Персональные мероприятия_1".

  3. Перетащите поле "КодОтветственного" исходной таблицы на поле копии "КодНачальника". Между таблицами возникает соединение.

  4. Перетащите поля "КодСотрудника" и "КодОтветственного" исходной таблицы, а также поля "КодНачальника" и "ТипМероприятия" таблицы "Персональные мероприятия_1)" соответственно в первые четыре столбца бланка запроса.

  5. При использовании рекурсивных соединений требуется задать вывод только уникальных значений. Для этого присвойте в бланке свойств запроса значение Да свойству "Уникальные значения".

  6. Нажмите кнопку "Запуск" для вывода записей, в которых сотрудник, ответственный и утвердивший план мероприятий, является одним и тем же лицом.

Создание соединения по отношению

Большинство соединений основаны на полях с одинаковыми значениями. Однако в некоторых случаях требуется создать связь неравных полей. В режиме конструктора запросов отображаются только внутренние и внешние соединения. Связь, эквивалентную соединению по отношению, можно задать с помощью условия отбора, которое указывается для одного из двух полей, участвующих в соединении.

З адание 2.20.

Выполните поиск клиентов, которые имеют разный официальный адрес и адрес доставки, является примером, в котором требуется использовать соединение по отношению. Для создания связи, эквивалентной данному соединению: 1. Создайте новый запрос и добавьте в него таблицы "Клиенты" и "Заказы". 2. Перетащите поля "Название" и "Адрес" таблицы "Клиенты", а также поле "АдресПолучателя" таблицы "Заказы" соответственно в первые три столбца бланка запроса.

3. Введите в строке "Условие отбора" (Criteria) столбца поля "АдресПолучателя" выражение <>Клиенты.Адрес. Access автоматически заключает имена таблицы и поля в квадратные скобки в независимости от того, включают ли они пробелы или знаки препинания. В инструкцию select добавляется предложение where Заказы.АдресПолучателя <> [Клиенты] . [Адрес].

4. Присвойте в бланке свойств запроса значение Да свойству "Уникальные значения".

5. Выполните запрос. Результирующее множество содержит только те записи, в которых различаются адрес клиента и адрес доставки.

2.1.8. Вычисления на подмножестве записей

При обобщении данных, которые содержатся в полях таблиц, включенных в запрос, используются статистические функции ( Таблица 2.2).

Статистические функции SQL можно задать в ячейке строки "Групповая операция" бланка запроса. Эта строка выводится, если нажать на панели инструментов кнопку "Групповые операции".AVG() Вычисляет среднее арифметичекое набора чисел, содержащихся в указанном поле запроса

Таблица 2.2.

Некоторые статистические функции SQL

AVG()

Вычисляет среднее арифметичекое набора чисел, содержащихся в указанном поле запроса

Count()

Вычисляет количество непустых записей, возвращаемых запросом

First()

Возвращает значение поля из первой записи результирующего набора

Last()

Возвращает значение из последней записи результирующего набора

Max()

Возвращает максимальное из набора значений, содержащихся в указанном поле.

Min()

Возвращает минимальное из набора значений, содержащихся в указанном поле

Sum()

Возвращает сумму набора значений, содержащихся в заданном поле