반응형
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;
반응형
댓글