에러메시지



   column ambiguously defined







갑자기 화면이 조회가 안된다고 연락이 왔다.


column이라는 단어가 나온 걸 보니.. DB문제 인 것




원인



한번 조회쿼리를 가져다가 조회를 해보니...





ORA-00918: 열의 정의가 애매합니다.


라는 메시지를 띄었다.


그렇다는 것은 현재 포스팅하고 있는 에러도 연관이 있는 것이다.


즉 , 테이블 또는 쿼리에서 같은 컬럼명이 쿼리에 존재 할 경우 나타나는 오류인 것이다.


시스템이 어떤 컬럼을 찾아야 할지, 사용해야 할지 애매한 상태에 있다는 것이다.





위와 같이 오렌지에서 힌트를 주는데 IS_PLAN_DATE라는 것이 애매하다는 것이다.


그래서 선언된 것이 문제인가 찾아보았는데


나 같은 경우 테이블 안에 같은 컬럼이 존재하여서 이러한 문제가 발생한 것이다.




해결방법



원인을 알면 해결이 가능하다.


두 가지 데이터중 나는 한가지를 선택을 해야 했다.


그래서 IS_PLAN_DATE 를 NVL(B.IS_PLAN_DATE,A.IS_PLAN_DATE)로 변경하여 해결하였다.







항상 중요하지만 서브쿼리를 사용하거나 테이블 조인을 하게 되면 


테이블이나 쿼리에 컬럼명이 같은 컬럼이 있으면 잘 구분하여 사용해야 한다.


보통 집중 안하면 생기는 오류 인 것 같다. 헤헤... 

+ Recent posts