Відео:
У цьому відео
Повідомлення "Неоднозначне зовнішнє об'єднання" відображається, коли Access визначає, що запит може давати різні результати залежно від того, яке об'єднання виконано першим. Щоб виконати запит, потрібно внести деякі зміни. Найкраще рішення – розбити запит на частини. Тобто настройте його так, щоб принаймні одне з об'єднань виконувалося в меншому "дочірньому" запиті, який потім можна приєднати до інших таблиць або запитів у батьківському запиті. Потім Access спочатку виконає об'єднання в дочірньому запиті (або запитах), а потім об'єднання в батьківському запиті в останню чергу, усуваючи неоднозначність.
Залежно від кількості таблиць у запиті, може знадобитися створити кілька дочірніх запитів, щоб уникнути неоднозначних зовнішніх об'єднань. У цьому відео показано простий приклад із трьох таблиць, де дві рівноз'єднані таблиці розділено в дочірній запит, а потім зовнішнє об'єднання з третьою таблицею виконується в батьківському запиті. Нижче наведено основні кроки, з якими припускається, що ви вже досить добре ознайомилися зі створенням простого вибіркового запиту.
- Створіть дочірній запит, який міститиме таблиці, до яких потрібно приєднатися першими (на відео це таблиці компаній і People).
- У дочірньому запиті двічі клацніть потрібні поля виводу, щоб з'явилася сітка запиту.
Важливо
Обов'язково включіть поле об'єднання з вихідного запиту. У прикладі з відео компанії з'єднано з регіонами за допомогою поля "Ідентифікатор регіону", тому ми додаємо йогодо сітки запиту дочірнього запиту.
- Збережіть і закрийте дочірній запит, а потім відкрийте вихідний запит у режимі конструктора. Він стане батьківським запитом.
- Видаліть таблиці, додані до дочірнього запиту, а потім додайте дочірній запит (Конструктор>, додавання таблиць (Відображення таблиці в Access 2013)>Запити або просто перетягніть дочірній запит з області переходів до батьківського запиту).
- У батьківському запиті встановіть об'єднання, як було раніше, тільки цього разу для дочірнього запиту.
- Додайте поля виводу з дочірнього запиту до сітки запиту.
- Збережіть і виконайте батьківський запит.
Емпіричне правило для неоднозначних зовнішніх об'єднань
Неоднозначні зовнішні об'єднання виникають, коли в запиті є два або більше об'єднань, і одне з них є зовнішнім об'єднанням, яке вказує на рівнозначне об'єднання, або є два зовнішніх об'єднання, які вказують на одне одного. Наприклад, ці дві конфігурації об'єднання неоднозначні і їх потрібно розділити на окремі запити:
Таблиця1 --> Таблиця2 --- Таблиця3
Таблиця1 --> Таблиця2 <-- Таблиця3
Можна використовувати зовнішні з'єднання, які вказують у тому самому напрямку або навпаки:
Таблиця1 --> Таблиця2 --> Таблиця3
Таблиця1 <-- Таблиця2 --> Таблиця3
Таблиця1 <-- Таблиця2 --- Таблиця3
Докладні відомості про створення запитів див. в статті Загальні відомості про запити або Створення простого вибіркового запиту.