[DEBUG] Oracle - ORA-00918: column ambiguously defined. 데이터베이스

여러 컬럼을 조인 할 경우에는 갈 컬럼 이름에 각 컬럼의 값을 가져올 테이블 이름도 붙여줘야 한다.

TableName.colname


이번에 꽤 많은 테이블을 조인하는 오라클 쿼리를 작성하면서 모든 컬럼에 테이블 이름을 함께 붙여준 것을 계속 확인했으나 ORA-00918: column ambiguously defined.가 끊임없이 괴롭혔다.

이유는...

FROM 절에 동일한 테이블 명을 두 번 줬기 때문이다.

동일한 테이블이 조인 될 이유는 없었기 때문에 테이블 이름에 Alias 를 주지 않았었는데, 그러면서 동일한 테이블 이름을 두번 기입했기 때문이다. 컬럼에 아무리 테이블 이름을 모두 다 붙여도 FROM절이 모호 했던 것이다.

근데.. 왜 컬럼에다가 대고서 모호하다고 우기냐고요... --;

덧글

※ 로그인 사용자만 덧글을 남길 수 있습니다.