오라클 데이터베이스 질문드립니다. 0 5 5,164

by ymym [Oracle 기초] ORACLE 컬럼 DECODE [2018.12.17 13:39:00]


캡처3.PNG (17,320Bytes)

월별로 SUM을 사용해서 매출이 출력되는 쿼리를 짰습니다. 마지막으로 월별 매출을 다시 합해서 1년 총 매출을 구하려고하면 어떤식으로 계산을 해야하나요?

컬럼 두개를 추가해서 하나는 SALES 합계 하나는 AMT 합계 이렇게 추가하고 싶어서요

by 마농 [2018.12.17 13:53:17]

월별 합계 쿼리를 어떤 식으로 작성했는지를 알아야 답변 드릴 수 있는 내용인데요?
SUM(DECODE(...)) 방식을 이용했다고 가정하고 답변 드립니다.
 

SELECT 고객번호, 고객명
     , SUM(DECODE(월, '01', sales)) sales_01
     , SUM(DECODE(월, '01', amt  ))   amt_01
     , SUM(DECODE(월, '02', sales)) sales_02
     , SUM(DECODE(월, '02', amt  ))   amt_02
     -- 중략 --
     , SUM(DECODE(월, '12', sales)) sales_12
     , SUM(DECODE(월, '12', amt  ))   amt_12
     -- 합계는 DECODE 없이 그냥 SUM 하면 됩니다. --
     , SUM(sales) sales_tot
     , SUM(amt  )   amt_tot
  FROM t
 WHERE 년도 = '2017'
 GROUP BY 고객번호, 고객명
;

 


by ymym [2018.12.17 14:15:03]

아 그냥 그렇게만 해주면 되는건가요? 그래서 한번 해보고 제가 맞는지 직접 계산기로 해봤는데 값이 다르네요..


by ymym [2018.12.17 14:18:49]

댓글은 사진이 안올라가서 마농님으로 해서 다시 글 올리겠습니다. 봐주시면 감사하겠습니다.


by 마농 [2018.12.17 14:19:57]

값이 다르다면? 다른 이유가 있겠죠?
값이 왜 다른지? 원인을 찾아 보세요.


by ymym [2018.12.17 14:28:05]

네 찾아보겠습니다!

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