나는 두 개의 tab을 가지고 있습니다. 처음에는 어떤 유형의 할인을 시작한시기와시기 (8 가지 유형의 할인이 있지만 두 가지 범주로 나누기)에 대한 데이터가 있습니다. 할인은 6 개월이지만 매월 감소하고 할인 시작 날짜는 모든 사람마다 다릅니다. 두 번째 테이블에는 트랜잭션이 있습니다.그룹 by 다른 날짜
첫 번째 달 및 두 번째 범주 사람의 첫 번째 범주에서 얼마나 많은 거래가 얼마나 높은지 알고 싶습니다. 당신의 필요를 이해하려고 노력
이SELECT (CASE WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATA_DISCOUNT))=0 THEN 0
WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT))=1 THEN 1
WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT))=2 THEN 2
WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT))=3 THEN 3
WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT))=4 THEN 4
WHEN Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT))=5 THEN 5
END)
AS MONTH,
CASE WHEN A.TYPE IN (5,6,7,8) THEN COUNT(A.PRICE)
END AS COUNT_TRANS_1,
CASE WHEN A.TYPE IN (5,6,7,8) THEN SUM(A.PRICE)
END AS SUM_PRICE_1,
CASE WHEN A.TYPE IN (1,2,3,4) THEN COUNT(A.PRICE)
END AS COUNT_TRANS_2,
CASE WHEN A.TYPE IN (1,2,3,4) THEN SUM(A.PRICE)
END AS SUM_PRICE_2
from DATABASE_1 A join DATABASE_2 B
on A.ID=B.ID
where Trunc(Months_Between(A.DATE_TRANS, B.DATE_DISCOUNT)) IN (0,1,2,3,4,5)
GROUP BY A.ID, MONTH
필요가 명확해질 수 있도록 몇 가지 샘플 데이터와 원하는 결과를 게시하십시오. 다른 사람들 사이에서 '왜 Trunc (Months_Between (A.DATE_TRANS, B.DATE_DISCOUNT)) = 1 THEN 1'과 같은 것들이 있습니까? 'Trunc (Months_Between (A.DATE_TRANS, B.DATE_DISCOUNT)) '와 같지 않습니까? – Aleksej