Por exemplo (apenas para ilustrar o problema),
CREATE TABLE test_join(ID INT NOT NULL);
--1
SELECT ID FROM
test_join A
INNER JOIN test_join b ON 1=1;
--2
SELECT ID FROM
test_join A
INNER JOIN test_join b ON 1=1
INNER JOIN test_join c ON 1=1;
O primeiro dá o esperado "ORA-00918: coluna definida de forma ambígua". O segundo executa sem reclamações (Oracle 10g). Eu me pergunto se é um bug ou se estou perdendo algo óbvio nas regras de resolução de nomes. Oracle 11 dá erro em ambos os casos.
obrigada
É realisticamente um bug em qualquer versão do 10g que você está usando que parece ter sido corrigido em qualquer versão do 11g em que você está vendo um erro em ambas as instruções.
Eu não tenho um banco de dados 10g na minha frente para testar isso. Eu apostaria que você obteria um erro em ambos os casos se usasse a sintaxe de junção de estilo antigo em vez da sintaxe do SQL 99. Isso implicaria que o problema é que o Oracle não estava traduzindo a sintaxe do SQL 99 para a sintaxe de estilo antigo corretamente e estava perdendo o fato de que a coluna foi definida de forma ambígua.