반응형
"ORA-00918: 열의 정의가 애매합니다" 오류가 난 이유
ROW_NUMBER() OVER(ORDER BY $num$ $sord$) AS RNUM
=> 컬럼명을 받아와서 순서를 매기는데, 해당 컬럼이 조인된 테이블 마다 있어 오류가 남.
여러 테이블을 조인할 때, 테이블에 컬럼명이 중복되는지 확인해보자.
ex) SELECT NAME FROM A, B WHERE A.NUM=B.NUM; -- 오류가 남
=> SELECT A.NAME FROM A, B WHERE A.NUM=B.NUM; -- 오류가 나지 않게 정확히 명시
NAME 컬럼이 A나 B 테이블에 둘중 한 테이블에만 있다면 오류가 나지 않지만,
A 테이블에도 NAME 컬럼이 있고, B 테이블에도 NAME 컬럼이 있다면 열의 정의가 애매하다는 오류가 날 수 있다. 쿼리가 짧으면 확인이 쉽지만, 긴 쿼리가 저런 부분을 찾기 힘들 수 있다. 주의하자.
참고 URL
반응형
'오류 해결' 카테고리의 다른 글
log4j.xml 오류 - log4j.dtd 지정된 파일을 찾을 수 없습니다. (0) | 2021.08.19 |
---|---|
Uncaught SyntaxError: Unexpected token [문자] in JSON at position ~ (0) | 2021.07.20 |
ORA-01722: 수치가 부적합합니다 (0) | 2021.07.14 |
Java에서 alert창 띄울 때 한글 문구가 오류가 난다면 (0) | 2021.06.23 |
java.sql.SQLException: ORA-01502: 인덱스 ' ' 또는 인덱스 분할영역은 사용할 수 없은 상태입니다 (0) | 2021.06.23 |
[ORACLE] ORA-28002: the password will expire within 7 days 오류 (0) | 2021.06.23 |
잘못 commit 했을 때 / 데이터가 꼬였을 때 복구 / 10시간 전 데이터로 복구하고 싶을 때 (0) | 2021.06.23 |