|
@@ -24,7 +24,6 @@ WITH TAB AS (
|
|
|
AND A.CUST_NO = D.CUST_NO
|
|
AND A.CUST_NO = D.CUST_NO
|
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
- AND B.ORD_EXCH_GB = 'O'
|
|
|
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
)
|
|
)
|
|
@@ -38,6 +37,8 @@ WITH TAB AS (
|
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
|
AND B.CUST_CPN_SQ = C.CPN1_CPN_SQ
|
|
AND B.CUST_CPN_SQ = C.CPN1_CPN_SQ
|
|
|
AND A.CPN_TYPE = 'G230_10'-- 즉시할인쿠폰
|
|
AND A.CPN_TYPE = 'G230_10'-- 즉시할인쿠폰
|
|
|
|
|
+ AND C.CPN1_DC_AMT > 0
|
|
|
|
|
+ -- 쿠폰번호조건 (CPN_ID)
|
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
@@ -49,6 +50,8 @@ WITH TAB AS (
|
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
|
AND B.CUST_CPN_SQ = C.GOODS_CPN_SQ
|
|
AND B.CUST_CPN_SQ = C.GOODS_CPN_SQ
|
|
|
AND A.CPN_TYPE = 'G230_11'-- 상품쿠푼
|
|
AND A.CPN_TYPE = 'G230_11'-- 상품쿠푼
|
|
|
|
|
+ AND C.GOODS_CPN_DC_AMT > 0
|
|
|
|
|
+ -- 쿠폰번호조건 (CPN_ID)
|
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
@@ -60,6 +63,8 @@ WITH TAB AS (
|
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
WHERE A.CPN_ID = B.CPN_ID
|
|
|
AND B.CUST_CPN_SQ = C.CART_CPN_SQ
|
|
AND B.CUST_CPN_SQ = C.CART_CPN_SQ
|
|
|
AND A.CPN_TYPE = 'G230_20'-- 장바구니쿠푼
|
|
AND A.CPN_TYPE = 'G230_20'-- 장바구니쿠푼
|
|
|
|
|
+ AND C.CART_CPN_DC_AMT > 0
|
|
|
|
|
+ -- 쿠폰번호조건 (CPN_ID)
|
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
@@ -74,6 +79,7 @@ WITH TAB AS (
|
|
|
AND B.CUST_CPN_SQ = D.DELV_CPN_SQ
|
|
AND B.CUST_CPN_SQ = D.DELV_CPN_SQ
|
|
|
AND A.CPN_TYPE = 'G230_30'-- 배송비쿠푼
|
|
AND A.CPN_TYPE = 'G230_30'-- 배송비쿠푼
|
|
|
AND D.DELV_CPN_DC_AMT > 0
|
|
AND D.DELV_CPN_DC_AMT > 0
|
|
|
|
|
+ -- 쿠폰번호조건 (CPN_ID)
|
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
|
|
|
)
|
|
)
|
|
|
SELECT CPN_TYPE -- 쿠폰타입
|
|
SELECT CPN_TYPE -- 쿠폰타입
|
|
@@ -97,6 +103,7 @@ FROM (
|
|
|
, ORD_AMT -- 주문금액
|
|
, ORD_AMT -- 주문금액
|
|
|
, CPN_AMT -- 쿠폰비용
|
|
, CPN_AMT -- 쿠폰비용
|
|
|
FROM TAB_CPN_STAT A
|
|
FROM TAB_CPN_STAT A
|
|
|
|
|
+ -- 쿠폰타입조건 (G230_10 즉시할인쿠폰, G230_11 상품쿠폰, G230_20 주문서쿠폰, G230_30 배송비쿠폰
|
|
|
) A
|
|
) A
|
|
|
;
|
|
;
|
|
|
|
|
|
|
@@ -105,6 +112,7 @@ FROM (
|
|
|
SELECT Z.BRAND_CD
|
|
SELECT Z.BRAND_CD
|
|
|
, Z.BRAND_ENM
|
|
, Z.BRAND_ENM
|
|
|
, Z.GOODS_CD
|
|
, Z.GOODS_CD
|
|
|
|
|
+ , Z.GOODS_NM
|
|
|
, Z.ORD_AMT
|
|
, Z.ORD_AMT
|
|
|
, Z.ORD_QTY
|
|
, Z.ORD_QTY
|
|
|
, Z.CUST_CNT
|
|
, Z.CUST_CNT
|
|
@@ -115,6 +123,7 @@ FROM (
|
|
|
A.BRAND_CD
|
|
A.BRAND_CD
|
|
|
, B.BRAND_ENM
|
|
, B.BRAND_ENM
|
|
|
, A.GOODS_CD
|
|
, A.GOODS_CD
|
|
|
|
|
+ , A.GOODS_NM
|
|
|
, SUM(ORD_AMT) AS ORD_AMT
|
|
, SUM(ORD_AMT) AS ORD_AMT
|
|
|
, SUM(ORD_QTY) AS ORD_QTY
|
|
, SUM(ORD_QTY) AS ORD_QTY
|
|
|
, SUM(CUST_CNT) AS CUST_CNT
|
|
, SUM(CUST_CNT) AS CUST_CNT
|
|
@@ -122,6 +131,7 @@ FROM (
|
|
|
SELECT
|
|
SELECT
|
|
|
C.BRAND_CD
|
|
C.BRAND_CD
|
|
|
, C.GOODS_CD
|
|
, C.GOODS_CD
|
|
|
|
|
+ , C.GOODS_NM
|
|
|
, SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
, SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
, SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
|
|
, SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
|
|
|
, COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
|
|
, COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
|
|
@@ -131,10 +141,9 @@ FROM (
|
|
|
AND A.CUST_NO = D.CUST_NO
|
|
AND A.CUST_NO = D.CUST_NO
|
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
- AND B.ORD_EXCH_GB = 'O'
|
|
|
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
- GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
|
|
|
|
|
+ GROUP BY C.BRAND_CD, C.GOODS_CD, C.GOODS_NM, A.CUST_NO
|
|
|
) A, TB_BRAND B
|
|
) A, TB_BRAND B
|
|
|
WHERE A.BRAND_CD = B.BRAND_CD
|
|
WHERE A.BRAND_CD = B.BRAND_CD
|
|
|
GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
|
|
GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
|
|
@@ -162,14 +171,13 @@ FROM (
|
|
|
AND A.CUST_NO = D.CUST_NO
|
|
AND A.CUST_NO = D.CUST_NO
|
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
- AND B.ORD_EXCH_GB = 'O'
|
|
|
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
AND EXISTS(
|
|
AND EXISTS(
|
|
|
SELECT 1
|
|
SELECT 1
|
|
|
FROM TB_COUPON X, TB_CUST_COUPON Y
|
|
FROM TB_COUPON X, TB_CUST_COUPON Y
|
|
|
WHERE X.CPN_ID = Y.CPN_ID
|
|
WHERE X.CPN_ID = Y.CPN_ID
|
|
|
- AND Y.CUST_CPN_SQ = B.GOODS_CPN_SQ -- B.CPN1_CPN_SQ, B.CART_CPN_SQ
|
|
|
|
|
|
|
+ AND Y.CUST_CPN_SQ = B.GOODS_CPN_SQ -- B.CPN1_CPN_SQ, B.CART_CPN_SQ (쿠폰종류에따라 설정)
|
|
|
AND X.CPN_ID = 31045 -- 쿠폰번호변수
|
|
AND X.CPN_ID = 31045 -- 쿠폰번호변수
|
|
|
)
|
|
)
|
|
|
GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
@@ -212,7 +220,6 @@ FROM (
|
|
|
AND A.CUST_NO = D.CUST_NO
|
|
AND A.CUST_NO = D.CUST_NO
|
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
- AND B.ORD_EXCH_GB = 'O'
|
|
|
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
@@ -244,7 +251,6 @@ FROM (
|
|
|
AND A.ORD_NO = E.ORD_NO
|
|
AND A.ORD_NO = E.ORD_NO
|
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
- AND B.ORD_EXCH_GB = 'O'
|
|
|
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
AND EXISTS(
|
|
AND EXISTS(
|
|
@@ -263,4 +269,239 @@ FROM (
|
|
|
) X
|
|
) X
|
|
|
WHERE Z.BRAND_CD = X.BRAND_CD
|
|
WHERE Z.BRAND_CD = X.BRAND_CD
|
|
|
AND Z.GOODS_CD = X.GOODS_CD
|
|
AND Z.GOODS_CD = X.GOODS_CD
|
|
|
-;
|
|
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 프로모션통계 -> 다다익선통계
|
|
|
|
|
+WITH TAB AS (
|
|
|
|
|
+ SELECT A.ORD_NO
|
|
|
|
|
+ , B.ORD_DTL_NO
|
|
|
|
|
+ , B.ORD_QTY
|
|
|
|
|
+ , B.CNCL_RTN_QTY
|
|
|
|
|
+ , B.ORD_AMT
|
|
|
|
|
+ , B.CURR_PRICE
|
|
|
|
|
+ , B.CNCL_RTN_AMT
|
|
|
|
|
+ , B.ORD_DTL_STAT
|
|
|
|
|
+ , A.PAY_DT
|
|
|
|
|
+ , C.GOODS_CD
|
|
|
|
|
+ , B.TMTB1_SQ
|
|
|
|
|
+ , B.TMTB1_DC_AMT
|
|
|
|
|
+ , B.TMTB2_SQ
|
|
|
|
|
+ , B.TMTB2_DC_AMT
|
|
|
|
|
+ FROM TB_ORDER A,
|
|
|
|
|
+ TB_ORDER_DETAIL B,
|
|
|
|
|
+ TB_GOODS C,
|
|
|
|
|
+ TB_CUSTOMER D
|
|
|
|
|
+ WHERE A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
|
|
+ AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
|
|
+ AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
|
|
+ AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
|
|
+ -- 프로모션유형 선택값 없을때
|
|
|
|
|
+ AND (B.TMTB1_DC_AMT + B.TMTB2_DC_AMT) > 0
|
|
|
|
|
+ -- 수량할인
|
|
|
|
|
+ /*AND TMTB1_DC_AMT > 0
|
|
|
|
|
+ -- 금액할인
|
|
|
|
|
+ AND TMTB2_DC_AMT > 0
|
|
|
|
|
+ -- 수량+금액 할인
|
|
|
|
|
+ AND TMTB1_DC_AMT > 0
|
|
|
|
|
+ AND TMTB2_DC_AMT > 0*/
|
|
|
|
|
+ -- 프로모션 번호 (TMTB1_SQ OR TMTB2_SQ)
|
|
|
|
|
+)
|
|
|
|
|
+-- 수량할인
|
|
|
|
|
+, TMTB1 AS (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ TMTB_SQ
|
|
|
|
|
+ , TMTB_NM
|
|
|
|
|
+ , FN_GET_CODE_NM('G810', APPLY_GB) AS APPLY_GB
|
|
|
|
|
+ , SUM(ORD_CNT) AS ORD_CNT
|
|
|
|
|
+ , SUM(ORD_AMT) AS ORD_AMT
|
|
|
|
|
+ , SUM(DC_AMT) AS DC_AMT
|
|
|
|
|
+ FROM
|
|
|
|
|
+ (
|
|
|
|
|
+ SELECT A.TMTB_SQ
|
|
|
|
|
+ , A.TMTB_NM
|
|
|
|
|
+ , APPLY_GB
|
|
|
|
|
+ , COUNT(1) AS ORD_CNT
|
|
|
|
|
+ , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
|
|
+ , SUM(B.TMTB1_DC_AMT) AS DC_AMT
|
|
|
|
|
+ FROM TB_TMTB A, TAB B
|
|
|
|
|
+ WHERE A.TMTB_SQ = B.TMTB1_SQ
|
|
|
|
|
+ GROUP BY A.TMTB_SQ, A.TMTB_NM, A.APPLY_GB, B.ORD_NO
|
|
|
|
|
+ ) X
|
|
|
|
|
+ GROUP BY TMTB_SQ, TMTB_NM, APPLY_GB
|
|
|
|
|
+)
|
|
|
|
|
+-- 금액할인
|
|
|
|
|
+, TMTB2 AS (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ TMTB_SQ
|
|
|
|
|
+ , TMTB_NM
|
|
|
|
|
+ , FN_GET_CODE_NM('G810', APPLY_GB) AS APPLY_GB
|
|
|
|
|
+ , SUM(ORD_CNT) AS ORD_CNT
|
|
|
|
|
+ , SUM(ORD_AMT) AS ORD_AMT
|
|
|
|
|
+ , SUM(DC_AMT) AS DC_AMT
|
|
|
|
|
+ FROM
|
|
|
|
|
+ (
|
|
|
|
|
+ SELECT A.TMTB_SQ
|
|
|
|
|
+ , A.TMTB_NM
|
|
|
|
|
+ , APPLY_GB
|
|
|
|
|
+ , COUNT(1) AS ORD_CNT
|
|
|
|
|
+ , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
|
|
+ , SUM(B.TMTB1_DC_AMT) AS DC_AMT
|
|
|
|
|
+ FROM TB_TMTB A, TAB B
|
|
|
|
|
+ WHERE A.TMTB_SQ = B.TMTB2_SQ
|
|
|
|
|
+ GROUP BY A.TMTB_SQ, A.TMTB_NM, A.APPLY_GB, B.ORD_NO
|
|
|
|
|
+ ) X
|
|
|
|
|
+ GROUP BY TMTB_SQ, TMTB_NM, APPLY_GB
|
|
|
|
|
+)
|
|
|
|
|
+SELECT *
|
|
|
|
|
+FROM TMTB1
|
|
|
|
|
+UNION ALL
|
|
|
|
|
+SELECT *
|
|
|
|
|
+FROM TMTB2
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 프로모션통계 -> 다다익선통계 -> 상품현황
|
|
|
|
|
+SELECT
|
|
|
|
|
+ A.BRAND_CD
|
|
|
|
|
+ , B.BRAND_ENM
|
|
|
|
|
+ , A.GOODS_CD
|
|
|
|
|
+ , A.GOODS_NM
|
|
|
|
|
+ , SUM(ORD_AMT) AS ORD_AMT
|
|
|
|
|
+ , SUM(ORD_QTY) AS ORD_QTY
|
|
|
|
|
+ , SUM(CUST_CNT) AS CUST_CNT
|
|
|
|
|
+FROM (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ C.BRAND_CD
|
|
|
|
|
+ , C.GOODS_CD
|
|
|
|
|
+ , C.GOODS_NM
|
|
|
|
|
+ , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
|
|
+ , SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
|
|
|
|
|
+ , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
|
|
|
|
|
+ FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
|
|
|
|
|
+ WHERE A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
|
|
+ AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
|
|
+ AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
|
|
+ AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
|
|
+ -- 수량
|
|
|
|
|
+ -- AND B.TMTB1_SQ = 14
|
|
|
|
|
+ -- 금액
|
|
|
|
|
+ AND B.TMTB2_SQ = 33
|
|
|
|
|
+ GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
|
|
|
|
|
+) A, TB_BRAND B
|
|
|
|
|
+WHERE A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 프로모션통계 -> 기획전통계
|
|
|
|
|
+SELECT
|
|
|
|
|
+ CASE WHEN DISTRIBUTION_GB = 'G065_20' THEN '입점' ELSE '위탁' END AS DISTRIBUTION_GB
|
|
|
|
|
+ , BRAND_ENM
|
|
|
|
|
+ , PLAN_SQ
|
|
|
|
|
+ , (SELECT PLAN_NM FROM TB_PLAN P WHERE P.PLAN_SQ = X.PLAN_SQ) AS PLAN_NM
|
|
|
|
|
+ , SUM(ORD_AMT) AS ORD_AMT
|
|
|
|
|
+ , SUM(ORD_CNT) AS ORD_CNT
|
|
|
|
|
+FROM (
|
|
|
|
|
+ SELECT C.DISTRIBUTION_GB
|
|
|
|
|
+ , F.BRAND_ENM
|
|
|
|
|
+ , E.PLAN_SQ
|
|
|
|
|
+ , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
|
|
+ , COUNT(1) AS ORD_CNT
|
|
|
|
|
+ FROM TB_ORDER A,
|
|
|
|
|
+ TB_ORDER_DETAIL B,
|
|
|
|
|
+ TB_GOODS C,
|
|
|
|
|
+ TB_CUSTOMER D,
|
|
|
|
|
+ TB_PLAN_DETAIL E,
|
|
|
|
|
+ TB_BRAND F
|
|
|
|
|
+ WHERE A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ AND B.PLAN_DTL_SQ = E.PLAN_DTL_SQ
|
|
|
|
|
+ AND F.BRAND_CD = C.BRAND_CD
|
|
|
|
|
+ AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
|
|
+ AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
|
|
+ AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
|
|
+ AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
|
|
+ -- 위탁
|
|
|
|
|
+ -- AND C.DISTRIBUTION_GB IN ('G065_10', 'G065_11', 'G065_12')
|
|
|
|
|
+ -- 입점
|
|
|
|
|
+ -- AND C.DISTRIBUTION_GB = 'G065_20'
|
|
|
|
|
+ -- AND E.PLAN_SQ = 기획전번호
|
|
|
|
|
+ GROUP BY C.DISTRIBUTION_GB, F.BRAND_ENM, E.PLAN_SQ, A.ORD_NO
|
|
|
|
|
+) X
|
|
|
|
|
+GROUP BY DISTRIBUTION_GB, BRAND_ENM, PLAN_SQ
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 프로모션통계 -> 기획전통계 -> 상품구매현황
|
|
|
|
|
+WITH TAB AS (
|
|
|
|
|
+ SELECT SUM(CUST_CNT) AS TOT_CUST_CNT
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT COUNT(1) AS CUST_CNT
|
|
|
|
|
+ FROM TB_ORDER A,
|
|
|
|
|
+ TB_ORDER_DETAIL B,
|
|
|
|
|
+ TB_GOODS C,
|
|
|
|
|
+ TB_CUSTOMER D,
|
|
|
|
|
+ TB_PLAN_DETAIL E,
|
|
|
|
|
+ TB_BRAND F
|
|
|
|
|
+ WHERE A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ AND B.PLAN_DTL_SQ = E.PLAN_DTL_SQ
|
|
|
|
|
+ AND F.BRAND_CD = C.BRAND_CD
|
|
|
|
|
+ AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
|
|
+ AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
|
|
+ AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
|
|
+ AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
|
|
+ -- AND E.PLAN_SQ = 기획전번호
|
|
|
|
|
+ GROUP BY A.CUST_NO
|
|
|
|
|
+ ) Z
|
|
|
|
|
+)
|
|
|
|
|
+SELECT
|
|
|
|
|
+ CASE WHEN DISTRIBUTION_GB = 'G065_20' THEN '입점' ELSE '위탁' END AS DISTRIBUTION_GB
|
|
|
|
|
+ , GOODS_CD
|
|
|
|
|
+ , GOODS_NM
|
|
|
|
|
+ , SUM(ORD_AMT) AS ORD_AMT
|
|
|
|
|
+ , SUM(ORD_QTY) AS ORD_QTY
|
|
|
|
|
+ , SUM(CUST_CNT) AS CUST_CNT
|
|
|
|
|
+ , FLOOR((SUM(CUST_CNT) / (SELECT TOT_CUST_CNT FROM TAB) * 100) / 10) * 10 AS ORD_RATE
|
|
|
|
|
+FROM (
|
|
|
|
|
+ SELECT C.DISTRIBUTION_GB
|
|
|
|
|
+ , C.GOODS_CD
|
|
|
|
|
+ , C.GOODS_NM
|
|
|
|
|
+ , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
|
|
|
|
|
+ , SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
|
|
|
|
|
+ , COUNT(1) OVER(PARTITION BY C.DISTRIBUTION_GB, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
|
|
|
|
|
+ FROM TB_ORDER A,
|
|
|
|
|
+ TB_ORDER_DETAIL B,
|
|
|
|
|
+ TB_GOODS C,
|
|
|
|
|
+ TB_CUSTOMER D,
|
|
|
|
|
+ TB_PLAN_DETAIL E,
|
|
|
|
|
+ TB_BRAND F
|
|
|
|
|
+ WHERE A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ AND B.PLAN_DTL_SQ = E.PLAN_DTL_SQ
|
|
|
|
|
+ AND F.BRAND_CD = C.BRAND_CD
|
|
|
|
|
+ AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d') -- 시작일변수
|
|
|
|
|
+ AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
|
|
|
|
|
+ AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
|
|
|
|
|
+ AND B.ORD_QTY > B.CNCL_RTN_QTY
|
|
|
|
|
+ -- AND E.PLAN_SQ = 기획전번호
|
|
|
|
|
+ GROUP BY C.DISTRIBUTION_GB, C.GOODS_CD, C.GOODS_NM, A.CUST_NO
|
|
|
|
|
+) X
|
|
|
|
|
+GROUP BY DISTRIBUTION_GB, GOODS_CD, GOODS_NM
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 소원씨 기획전 상세 페이지에서 planDtlSq 파라메터 추가 요청
|
|
|
|
|
+
|
|
|
|
|
+SELECT * FROM TB_COMMON_CODE WHERE CD_GB = 'G065';
|
|
|
|
|
+SELECT * FROM TB_TMTB;
|
|
|
|
|
+SELECT * FROM TB_TMTB_BURDEN;
|
|
|
|
|
+SELECT * FROM TB_ORDER_DETAIL WHERE PLAN_DTL_SQ > 0;
|
|
|
|
|
+SELECT * FROM TB_CART WHERE PLAN_DTL_SQ > 0;
|
|
|
|
|
+SELECT * FROM TB_CART_HST WHERE PLAN_DTL_SQ > 0;
|
|
|
|
|
+SELECT * FROM TB_GOODS;
|