본문 바로가기
DBMS/ORACLE

[ORACLE] ORA-00918: column ambiguously defined (컬럼 중복 에러)

by 썸머워즈 2019. 7. 31.
반응형

ORA-00918: 열의 정의가 모호합니다

ORA-00918: column ambiguously defined

아주 흔하게 볼 수 있고 아주 가볍게 처리할 수 있는 에러이다.

 

에러의 원인은 컬럼명이 중복 되었을 경우에 생기는 에러이다.

그래서 보통 조인(join)문이나 서브쿼리를 사용할 때 자주 보이는 에러이다.

SELECT a.no , b.no , a.content , b.name , b.age
 FROM aTest a , bTest b
 WHERE a.no = b.no;

기본적인 조인문을 예제로 보면, 위와같은 경우에는 에러가 발생한다.

a 테이블의 no와 b 테이블의 no를 SELECT 했지만,

SELECT 했을 경우 둘 컬럼명 모두 no이기 때문에 중복 에러가 발생하는 것이다.

 

해결방법은 해당 컬럼을 사용하지 않거나 ALIAS 즉, 별칭을 사용해 주면 된다.

SELECT a.no AS aNo, b.no AS bNo , a.content , b.name , b.age
 FROM aTest a , bTest b
 WHERE a.no = b.no;
반응형


댓글

TOP