데이터 항목별 집계함수를 열로 표현하기. 0 1 765

by couregiem [Oracle 기초] 오라클 [2020.08.24 17:54:17]


안녕하세요 

현재 쿼리를 짜다가 막힌 부분이 있어 질문드립니다.

해당 Table에는 컬럼이 이렇게 존재합니다. 

아이템1 | 관리번호 | 속성 | 수량     

[속성 종류 : 보통 / 약하게 / 세게 ] 3가지

현재 표현하려는 것이 이런 형태로 표현해야 합니다.

아이템1 | 관리번호 | 보통 수량 | 약하게 수량 | 세게 수량 

 

속성의 각각 집계함수로 union all 을 해봣지만 중복된 항목이 아니라 각각 표현됩니다.

혹시 다른 방법이 있는지 도움 요청 드립니다! 

 

 

 

 

 

 

 

by 우리집아찌 [2020.08.24 18:32:33]
WITH T AS (
SELECT 'A' ITM , '1' NO , '보통'   ATT , 1 QTY FROM DUAL UNION ALL
SELECT 'A' ITM , '1' NO , '약하게' ATT , 2 QTY FROM DUAL UNION ALL
SELECT 'A' ITM , '1' NO , '세게'   ATT ,31 QTY FROM DUAL UNION ALL
SELECT 'B' ITM , '2' NO , '세게'   ATT ,41 QTY FROM DUAL 
)  

SELECT ITM
     , NO
     , MAX(CASE WHEN ATT = '보통'   THEN QTY END) "보통" 
     , MAX(CASE WHEN ATT = '약하게' THEN QTY END) "약하게" 
     , MAX(CASE WHEN ATT = '세게'  THEN QTY END)  "세게" 
  FROM T
 GROUP BY ITM , NO


 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입