티스토리 뷰

   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

;

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함