select title, content, isrtid
from tableA
;
상기 결과가 다음과 같을때.. 이걸 한 줄로 고쳐보고 있을 거다.
titleA contentA isrtIdA
titleB contentB isrtIdA
titleC contentC isrtIdA
titleD contentD isrtIdA
..
그러면 당연히 isrtid 로 group by 를 하고, max 와 decode 를 사용할 것인데.. 그렇다면 쿼리가 다음과 같이 된다.
select isrtid,
max(decode(title, 'titleA', content)) content1,
max(decode(title, 'titleB', content)) content2,
max(decode(title, 'titleC', content)) content3,
max(decode(title, 'titleD', content)) content4
from (select title, content, isrtid from tableA)
group by isrtid
;
대부분은 작업이 잘 될 것인데..
만약 content 칼럼이 Clob 이면 어떻게 될까..?
다른 DB 에서는 모르겠는데, Oracle 에서의 답변은 다음과 같다.
ORA-00932: 데이터 유형이 일치하지 않습니다.
이럴때는 해결책이 어떻게 되는 것인지..?
'컴퓨터 이야기 > 데이타베이스' 카테고리의 다른 글
connect by ~ start with ~ order siblings by ~ 문에 대한 Oracle 9i Plan (실행계획) (7) | 2009.08.02 |
---|---|
오라클 DB 성능 향상 엑셈 MaxGauge (1) | 2009.07.29 |
WareValley 의 Orange 와 insert into ~ select ~ 구문을 이용한 데이타 DB 업로드 (3) | 2009.01.27 |
WareValley Orange, 다수의 트리거와 프로시저 본문 대상으로 검색 (0) | 2009.01.06 |
select .. from .. where .. connect by (prior) .. = (prior) .. start with .. (4) | 2008.12.18 |