1
2
3
4
5
6
7
8
9 |
SELECT
AA.XXX
, MAX(DECODE(BB.CODE_CD,'1',BB.CODE_YN,'N'))CODE1_CD
, MAX(DECODE(BB.CODE_CD,'2',BB.CODE_YN,'N'))CODE2_CD
, MAX(DECODE(BB.CODE_CD,'3',BB.CODE_YN,'N'))CODE3_CD
, MAX(DECODE(BB.CODE_CD,'4',BB.CODE_YN,'N'))CODE4_CD
, MAX(DECODE(BB.CODE_CD,'5',BB.CODE_YN,'N'))CODE5_CD
FROM
....(중략)..... |
cs |
IBATIS 를 사용하여 쿼리 출력시 행을 열로 변경해서 출력하는 경우 다음과 같은식으로 작성하였다.
코드컬럼에 값이 변경되는 경우가 발생하면 쿼리를 매번 수정해줘야되는 경우가 발생하여, 고민끝에 iterate를 사용하여 코드를 정리하기에 이르렀다.
1
2
3
4
5
6
7
8
9 |
<select id="XXX" ... remapResults=”true” >
SELECT
AA.XXX
<iterate property="paramList" conjunction="" >
, MAX(DECODE(BB.CODE_CD, #paramList[]# ,BB.CODE_YN,'N')) CODE_$paramList[]$
</iterate>
FROM
....(중략).....
</select> |
cs |
paramList 는 배열형태의 파라메터 이며 개수만큼 동적으로 컬럼을 생성하게끔 하였으며 컬럼이 동적으로 변경하는경우 remapResults=”true”
프로퍼티 속성을 명시해준다.
출처 : http://blog.naver.com/jkhljesus/70016617377
'개발이야기' 카테고리의 다른 글
Spring Security 이해하기 (0) | 2018.10.11 |
---|---|
Spring Security적용기 (1) (0) | 2018.08.02 |
자바 ArrayList 분할하기 (0) | 2015.12.09 |
정의되지 않음 또는 null 참조인 'decimalSeparator' 속성을 가져올 수 없습니다. (0) | 2015.12.08 |
이클립스 실행시 JVM 오류 (0) | 2015.12.05 |