Vídeo:
No vídeo
A mensagem "junção externa ambígua" é exibida quando o Access determina que sua consulta pode fornecer resultados diferentes com base em qual junção é feita primeiro. Para executar a consulta, você precisará fazer algumas alterações. A melhor solução geralmente é dividir a consulta em partes. Ou seja, configure-o para que pelo menos uma das junções seja feita em uma consulta "filho" menor, que você então ingressa em outras tabelas ou consultas em uma consulta "pai". O Access, em seguida, executa as junções na consulta filho (ou consultas) primeiro, em seguida, faz as junções na consulta pai por último, eliminando a ambiguidade.
Dependendo de quantas tabelas você tem em sua consulta, talvez seja necessário criar várias consultas filho para evitar junções externas ambíguas. Este vídeo mostra um exemplo simples de três tabelas, em que duas tabelas equi-joined são separadas em uma consulta filho e, em seguida, a junção externa a uma terceira tabela é feita na consulta pai. Aqui estão as etapas básicas, que pressupõem que você já esteja bastante familiarizado com a criação de uma consulta de seleção simples:
-
Crie uma nova consulta filho que contenha as tabelas que você deseja ingressar primeiro (no vídeo, estas são as tabelas Empresas e Pessoas).
-
Na consulta filho, clique duas vezes nos campos de saída necessários para que eles apareçam na grade de consulta.
Importante: Certifique-se de incluir o campo de junção da consulta original. No exemplo de vídeo, as empresas foram unidas a Regiões usando o campo RegionID, portanto, incluímos RegionID na grade de consulta da consulta filho.
-
Salve e feche a consulta filho e abra a consulta original no modo Design. Isso se tornará a consulta pai.
-
Exclua as tabelas adicionadas à consulta filho e adicione a consulta filho (Design > Adicionar Tabelas (Mostrar Tabela em Access 2013 )> Consultas ou arraste a consulta filho do Painel de Navegação para a consulta pai.
-
Na consulta pai, estabeleça a junção como era antes, somente desta vez para a consulta filho.
-
Adicione os campos de saída da consulta filho à grade de consulta.
-
Salve e execute a consulta pai.
Regra geral para junções externas ambíguas
As junções externas ambíguas ocorrem quando você tem duas ou mais junções em uma consulta, e uma delas é uma junção externa que aponta para uma junção de equi ou há duas junções externas que apontam uma para a outra, por exemplo, essas duas configurações de junção são ambíguas e precisarão ser divididas em consultas separadas:
Table1 --> Table2 --- Table3
Table1 --> Table2 <-- Table3
As junções externas que apontam na mesma direção, ou longe de outras junções externas ou equi-joins, são OK:
Table1 --> Table2 --> Table3
Table1 <-- Table2 --> Table3
Table1 <-- Table2 --- Table3
Para obter mais informações sobre como criar consultas, consulte Introdução a consultas ou Criar uma consulta de seleção simples.