쿼리 결과를 세로가 아닌 가로로 출력하기. => CASE 문 이용
1. 문자데이터 가로로 출력하기 : MAX
<<테이블에서 각 포지션별로 메인에 공개된 파일명만 추출할 때>>
일반 조회 시 :
SELECT * FROM tbl_temp;
sequence filename position mainyn language 1 img_1.jpg O Y KR 2 img_2.jpg R Y KR 3 img_3.jpg B Y KR 4 img_4.jpg L Y KR 5 img_5.jpg T Y KR
가로 출력 시 :
SELECT
MAX(CASE WHEN position='O' AND mainyn='Y' then filename else '' end) as O_file,
MAX(CASE WHEN position='R' AND mainyn='Y' then filename else '' end) as R_file,
MAX(CASE WHEN position='B' AND mainyn='Y' then filename else '' end) as B_file,
MAX(CASE WHEN position='L' AND mainyn='Y' then filename else '' end) as L_file,
MAX(CASE WHEN position='T' AND mainyn='Y' then filename else '' end) as T_file
FROM tbl_temp;
O_file R_file B_file L_file T_file img_1.jpg img_2.jpg img_3.jpg img_4.jpg img_5.jpg
2. 수치데이터 가로로 출력하기 : SUM
<<테이블에서 서비스별로 조회수(hits)를 추출할 때>>
일반 조회 시 :
SELECT * FROM tbl_temp;
service hits music 3 movie 4 music 1 music 4 book 2 movie 2 game 3
가로 출력 시 :
SELECT
SUM(CASE WHEN service='music' then hits else 0 end) as music_hits,
SUM(CASE WHEN service='movie' then hits else 0 end) as movie_hits,
SUM(CASE WHEN service='book' then hits else 0 end) as book_hits,
SUM(CASE WHEN service='game' then hits else 0 end) as game_hits
FROM tbl_temp;
music_hits movie_hits book_hits game_hits 8 6 2 3
[ 출처 : http://blog.naver.com/hello80?Redirect=Log&logNo=130071086094 ]
[출처] [SQL QUERY] 쿼리 결과 가로 출력|작성자 잠팅구리
'DataBase > Sql' 카테고리의 다른 글
[Sql] 행을 열로 표시 (0) | 2012.04.25 |
---|---|
[Sql] NoSql (0) | 2012.01.04 |
[Sql] Analytic Function (0) | 2011.10.20 |
[Sql] 지운데이터 복구 (0) | 2011.10.14 |
[Sql] Oracle - sql정리_요약 (0) | 2011.08.11 |