Видео:
В этом видео
Сообщение "неоднозначное внешнее соединение" появляется, когда Access определяет, что запрос может дать разные результаты в зависимости от того, какое соединение выполняется первым. Чтобы выполнить запрос, необходимо внести некоторые изменения. Как правило, лучше всего разделить запрос на части. То есть настройте его так, чтобы хотя бы одно из соединений выполнялось в меньшем "дочернем" запросе, который затем присоединяется к другим таблицам или запросам в "родительском" запросе. Затем Access сначала выполняет соединения в дочернем запросе (или запросах), а затем выполняет соединения в родительском запросе последним, устраняя неоднозначность.
В зависимости от количества таблиц в запросе может потребоваться создать несколько дочерних запросов, чтобы избежать неоднозначных внешних соединений. В этом видео показан простой пример из трех таблиц, в котором две равносоединенные таблицы разделяются в дочерний запрос, а затем внешнее соединение с третьей таблицей выполняется в родительском запросе. Ниже приведены основные шаги, которые предполагают, что вы уже хорошо знакомы с созданием простого запроса выбора.
-
Создайте дочерний запрос, содержащий таблицы, которые нужно сначала объединить (в видео это таблицы Компании и Люди).
-
В дочернем запросе дважды щелкните нужные поля выходных данных, чтобы они отображались в сетке запроса.
Важно: Обязательно включите поле соединения из исходного запроса. В примере видео компании были присоединены к регионам с помощью поля RegionID, поэтому мы включили RegionID в сетку запросов дочернего запроса.
-
Сохраните и закройте дочерний запрос, а затем откройте исходный запрос в режиме конструктора. Это будет родительский запрос.
-
Удалите таблицы, добавленные в дочерний запрос, а затем добавьте дочерний запрос (конструктор > добавление таблиц (показать таблицу в Access 2013 )> запросы или просто перетащите дочерний запрос из области навигации в родительский запрос).
-
В родительском запросе установите соединение, как это было раньше, только на этот раз к дочернему запросу.
-
Добавьте поля вывода из дочернего запроса в сетку запроса.
-
Сохраните и выполните родительский запрос.
Правило большого пальца для неоднозначных внешних соединений
Неоднозначные внешние соединения возникают при наличии двух или более соединений в запросе, и одно из них является внешним соединением, которое указывает на равное соединение, или два внешних соединения, указывающих друг на друга. Например, эти две конфигурации соединения неоднозначны и должны быть разделены на отдельные запросы:
Table1 --> Table2 --- Table3
Table1 --> Table2 <-- Table3
Внешние соединения, которые указывают в том же направлении или от других внешних соединений или равноуполном соединений, являются нормальными:
Table1 --> Table2 --> Table3
Table1 <-- Table2 --> Table3
Table1 < - Table2 --- Table3
Дополнительные сведения о создании запросов см. в статьях Общие сведения о запросах или Создание простого запроса выбора.