금액1 금액2 금액3 금액4 금액5 ------------------------------------ 상품1 상품2 상품3 위 처럼 보이는 데이터를 아래처럼 하려고 합니다. 쿼리를 어케해야하는지요?? 상품1 상품2 상품3 --------------------------------- 금액1 금액2 금액3 금액4 금액5
row를 column으로 바꾸려면 집계함수와 CASE문으로 하고,
column를 row로 바꾸려면 복제를 해야 합니다.
여기는 두가지가 다 필요하겠네요.
1) row -> column
SELECT SUM(CASE WHEN 상품명 = '상품1' THEN 금액1 END) 상품1
,SUM(CASE WHEN 상품명 = '상품2' THEN 금액1 END) 상품2
FROM TAB1
2) column -> row
#TAB2 : NO라는 숫자컬럼이 하나있고, ROW가 5개(1,2,3,4,5)인 임시테이블(복제용테이블)
SELECT CASE B.NO
WHEN 1 THEN '금액1'
WHEN 2 THEN '금액2'
WHEN 3 THEN '금액3'
WHEN 4 THEN '금액4'
WHEN 5 THEN '금액5'
END 금액구분
,SUM(CASE WHEN 상품명 = '상품1' THEN 금액1 END) 상품1
FROM TAB1 A, #TAB2 B
WHERE B.NO <= 5
GROUP BY B.NO
3) 위의 두개를 조합하여 완성
,SUM(CASE WHEN 상품명 = '상품1'
THEN CASE B.NO
END
END) 상품1
,SUM(CASE WHEN 상품명 = '상품2'
END) 상품2
원하시는 결과인지 모르겟네요..
환경상 직접 테스트는 못해봤습니다. 맥락만 이해하시라구 답변 드립니다.