티스토리 뷰
paing 처리를 위해 rownum(의사컬럼)을 사용했는데 에러가 났다.
찾아보니 테이블을 조인할 때, 컬럼명이 같은 경우가 있는데 이 때 rownum을 사용하면 column ambiguously defined 에러가 발생한다고 한다. 컬럼명이 같거나 from절에 주는 테이블명이 중복되지 않는지 살펴볼 필요가 있다.
나의 경우는 qna테이블의 qc_no 컬럼과 qc테이블의 qc_no 컬럼의 이름이 같았기 때문에 일어난 에러였다.
해결 방법은 다음과 같다.
테이블명이 중복된 경우 → 테이블명을 다르게 명시해준다.
컬럼명이 중복된 경우 → 위의 이미와 같이 중복되는 컬럼명에 Alias로 다른 이름을 부여해준다.
최종본.
select B.* from
(select rownum as rnum, A.* from
(select
qna.qna_title, qna.qna_no
, qna.qna_content, qna.qna_count, qna.qna_seq
, qna.qna_date, qna.qna_group, qna.qna_depth
, qna.qc_no as qna_qc_no, qna.qna_writer, qc.qc_category
, qc.qc_no
from qna inner join qc on (qna.qc_no=qc.qc_no)
order by qna.qna_no desc)A)B
WHERE rnum BETWEEN 1 AND 10
;
'공장 (factory) > - Errors' 카테고리의 다른 글
댓글