Для формирования многотабличного запроса необходимо разместить в окне Конструктора запросов все участвующие в запросе таблицы и определить условия их связи. Вместе с таблицами в окне Конструктора запросов отображаются и их постоянные
273
связи Если необходимые постоянные связи отсутствуют, то с помощью вкладки Join (связь) организуются временные межтабличные связи
Рассмотрим создание многотабличного запроса на следующем примере
Запрос 4. Необходимо получить на экране информацию о преподавателях кафедры 25, их должностях и окладах, преподавательском стаже и надбавке за стаж
Требуемая информация содержится в следующих трех таблицах T_prep, T_dolgn, T_stag В окне Конструктора запросов уже имеется таблица Т_ргер Остальные можно добавить, например, с помощью команды Query | Add Table (запрос |добавить таблицу) При этом в появившемся диалоговом окне Add Table or View (добавить таблицу или запрос) выбирается требуемая таблица В результате образ таблицы появляется в окне Конструктора запросов
Если при создании БД между выбранными таблицами были установлены постоянные связи, то они будут также представлены, во-первых, в виде линий соединяющих соответствующие поля в образах этих таблиц (верхняя часть рис 22 3), а во-вторых - во вкладке Join (Связь) добавятся соответствующие строки с условиями объединения таблиц
Рис 22 3 Окно многотабличного запроса с выбранной вкладкой Join
Если ранее постоянных связей между выбранными таблицами установлено не было, то открывается диалоговое окно Join Condition (условие связи), служащее для установления или модификации связи (рис 22 4) В связи с тем, что в рассматриваемом примере имеются постоянные связи между выбранными таблицами, то окно Join
274
Рис. 22.4. Окно Join Condition
Condition (условие связи) было вызвано двойным щелчком мыши на выбранной линии, связывающей таблицы по полю dolgn. Этот прием используется также при модификации типа связи.
Тип связи модифицируется или задается с помощью переключателя Type of join (тип связи) рассматриваемого окна. В левой и правой частях окна содержатся раскрывающиеся списки полей двух таблиц, с помощью которых выбираются поля для связи таблиц. Будем использовать предлагаемую по умолчанию опцию Inner рт(внутренняя связь). В этом случае создается объединение, в которое выбираются записи, содержащие совпадающие значения в полях связи.
Замечание. Для установления временных связей возможно использование любых полей таблиц без ограничений, имеющих место при установке постоянных межтабличных связей.
275
273 :: 274 :: 275 :: Содержание