DBAtlas · Atlas de operações de banco de dados

ORA-00918: column ambiguously defined

Oracle

O que significa?

Existe uma coluna com o mesmo nome em mais de uma tabela da consulta e, como ela é usada sem prefixo de tabela/alias, o Oracle não consegue determinar a qual tabela ela pertence.

Por que acontece?

Ambas as tabelas do join têm uma coluna com o mesmo nome (por exemplo, ID nas duas); a coluna é usada sem qualificação (sem prefixo) no SELECT, WHERE ou ORDER BY.

Como resolver

Qualifique toda coluna ambígua com o nome ou o alias da tabela: SELECT a.id, b.id FROM tableA a JOIN tableB b ON a.id = b.a_id; Dê aliases curtos às tabelas e prefixe todas as colunas para melhorar a legibilidade e a clareza.

Abrir no DBAtlas →

Mais entradas deste banco