안녕하세요
select store_cd, -- 매장 코드
sum(dd_qty), --일자별 합계
sum(mm_qty) --월별 합계
from A
where 일자 between '20150322' and '20150322'
group by store_cd
다음과 같은 쿼리가 있는데요
이쿼리를 dd_qty컬럼은 where절 그대로 22일자의 합계만 출력하고 싶고
mm_qty컬럼은 1일부터 22일까지로 1일부터 오늘일자까지 합계를 출력하게 하고 싶습니다.
즉 두 컬럼을 나눠서 두조건으로 출력하고 싶다는 겁니다.
여기서 '20150322'는 파라미터로 주어지는 변수 입니다.(오늘일자를가져옴)
고수님들 도움좀 부탁드리겠습니다.
일자가 DATE 타입인 경우는 위와 같이 하면 될듯 합니다.
SELECT STORE_CD , SUM( CASE WHEN 일자 BETWEEN TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD') AND TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD')||'235959','YYYYMMDDHH24MISS') THEN DD_QTY ELSE 0 END) AS DD_QTY , SUM(MM_QTY) AS MM_QTY FROM A WHERE 일자 BETWEEN TO_DATE(TO_CHAR(SYSDATE,'YYYYMM')||01,'YYYYMMDD') AND SYSDATE GROUP BY STORE_CD ;