Создание многотабличных запросов

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

Задание 6. Вывести следующую информацию о счетах покупателей: номер счета, наименование покупателей, дата выписки счета.

Алгоритм выполнения задания:

1. Создать новый запрос. Исходные таблицы — СЧЕТ, ПОКУПАТЕЛЬ.

2. Так как выбранные таблицы включены в схему данных БД, то связь между таблицами по полю код покупателя установилась автоматически. Проверить наличие связи.

3. Выбрать необходимые поля. Из таблицы СЧЕТ — поля: НОМЕР СЧЕТА, ДАТА ВЫПИСКИ СЧЕТА. Из таблицы ПОКУПАТЕЛЬ — поля: наименование ОРГАНИЗАЦИИ.

4. Запустить запрос.

5. Сохранить запрос под именем 6_счета_покупателей

для каждого номера счета определён код покупателя и в процессе выполнения запроса для каждого кода покупателя из таблицы ПОКУПАТЕЛЬ находится соответствующие наименование организации.

Бланк запроса в режиме конструктора представлен на Рисунок 11.

 

Рисунок 11 Бланк запроса задания 6

При необходимости возможно изменение параметров объединения (связи) исходных таблиц/запросов.

Задание 7. Вывести информацию о тех покупателях, которым не выписывались счета.

Для реализации задачи необходим список всех покупателей (содержится в таблице ПОКУПАТЕЛЬ) и список счетов покупателей (таблица СЧЕТ).

Алгоритм выполнения задания:

1. Создать новый запрос. Исходные таблицы — СЧЕТ, ПОКУПАТЕЛЬ.

2. Проверить наличие связи.

3. При существующей связи из таблиц будут выбираться те данные, для которых значения поля КОД ПОКУПАТЕЛЯ совпадают. Для реализации задачи сначала необходимо вывести полный список покупателей с номерами счетов. Требуется изменить параметры объединения таблиц. При помощи мышки выделить существующую связь (щелкнуть по линии, соединяющей таблицы, линия станет жирной) и нажать левую кнопку мышки. В ниспадающем меню выбрать пункт параметры объединения. Другой способ: выделить существующую связь, пункт главного меню ВИД, команда параметры объединения (Рисунок 12).

Рисунок 12 Диалоговое окно ПАРАМЕТРЫ ОБЪЕДИНЕНИЯ

4. В соответствии с рассуждениями п.3 установить переключатель на пункте 2 (см. Рисунок 12). Нажать кнопку ОК. Убедиться, что связь изменилась. Направление связи (отражается стрелкой) от таблицы ПОКУПАТЕЛЬ к таблице СЧЕТ.

5. Выбрать поля Код покупателя, Наименование покупателя, НОМЕр счета.

6. Запустить запрос.

7. В режиме таблицы (просмотра запроса) в записях клиентов, которым не выписывались счета значение поля НОМЕР СЧЕТА пустое (см. Таблица 1).

Таблица 1

Запрос1
Код покупателя Наименование ор> Номер счета
ТОО "Чистотел"
ТОО "Чистотел"
ТОО "Невский"  

 

8. Вернуться в режим конструктора запроса.

9. Для поля НОМЕР СЧЕТА в строке УСЛОВИЯ ОТБОРА установить условие IS NULL.

10. Снять флажок ВЫВОД НА ЭКРАН для поля НОМЕР СЧЕТА.

11. Просмотреть результат выполнения запроса.

12. Сохранить запрос под именем 7_НЕОХВАЧЕННЫЕ_ПОКУПАТЕЛИ

Бланк запроса в режиме конструктора представлен на Рисунок 13.

Рисунок 13 Бланк запроса задания 6

Задание 1_5. для самостоятельной работы. Вывести следующую информацию о продажах покупателей: дата продажи, наименование организации, наименование товара, количество проданного.

Задание 1_6. для самостоятельной работы. Для заданного товара вывести список продаж по выписанным счетам, содержащий следующую информацию: дата продажи, номер счета, наименование организации, количество проданного.



/cgi-bin/footer.php"; ?>