gagamel пре 4 година
родитељ
комит
ec260a2bd7

+ 139 - 139
산출물/4.구축/데이터처리/07.카테고리재고생성(TB_CATE_STOCK).sql

@@ -1,139 +1,139 @@
-TRUNCATE TABLE TB_CATE_STOCK_TMP;
-INSERT INTO TB_CATE_STOCK_TMP
-SELECT B.SITE_CD
-     , B.CATE1_NO
-     , B.CATE2_NO
-     , B.CATE3_NO
-     , B.CATE4_NO
-     , B.CATE5_NO
-     , A.GOODS_CD
-     , C.BRAND_GROUP_NO
-     , C.FORMAL_GB
-     , C.STOCK_QTY
-FROM   TB_CATE_GOODS A
-     , TB_CATE_4SRCH B
-     , (
-        SELECT G.GOODS_CD
-             , B.BRAND_GROUP_NO
-             , G.FORMAL_GB
-             , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
-        FROM   TB_GOODS G USE INDEX (IX_GOODS_11)
-             , VW_STOCK S
-             , TB_BRAND B
-        WHERE  G.GOODS_CD = S.GOODS_CD
-        AND    G.BRAND_CD = B.BRAND_CD
-        AND    G.GOODS_TYPE = 'G056_N' /*일반상품*/
-        AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
-        AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
-        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
-        AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
-        AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
-        AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘만*/
-        GROUP  BY G.GOODS_CD, B.BRAND_GROUP_NO, G.FORMAL_GB
-        UNION ALL
-        SELECT G.GOODS_CD
-             , B.BRAND_GROUP_NO
-             , G.FORMAL_GB
-             , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
-        FROM   TB_GOODS G USE INDEX (IX_GOODS_11)
-             , TB_GOODS_COMPOSE GC
-             , VW_STOCK S
-             , TB_BRAND B
-        WHERE  G.GOODS_CD = GC.GOODS_CD
-        AND    GC.COMPS_GOODS_CD = S.GOODS_CD
-        AND    G.BRAND_CD = B.BRAND_CD
-        AND    G.GOODS_TYPE != 'G056_N' /*일반상품이 아닌넘*/
-        AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
-        AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
-        AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
-        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
-        AND    GC.USE_YN = 'Y' /*사용하는구성상품*/
-        AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
-        AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
-        AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘만*/
-        GROUP  BY G.GOODS_CD, B.BRAND_GROUP_NO, G.FORMAL_GB
-       ) C
-WHERE  A.GOODS_CD = C.GOODS_CD
-AND    A.CATE_NO = B.LEAF_CATE_NO
-AND    B.CATE_TYPE = 'G031_10' /*상품분류카테고리*/
-;
-
-TRUNCATE TABLE TB_CATE_STOCK;
-INSERT INTO TB_CATE_STOCK (
-       SITE_CD
-     , CATE_NO
-     , BRAND_GROUP_NO
-     , FORMAL_GB
-     , STOCK_QTY
-     , GOODS_QTY
-     , REG_NO
-     , REG_DT
-)
-SELECT SITE_CD
-     , CATE_NO
-     , BRAND_GROUP_NO
-     , FORMAL_GB
-     , STOCK_QTY
-     , GOODS_QTY
-     , 0              AS REG_NO
-     , NOW()          AS REG_DT
-FROM   (
-        SELECT SITE_CD
-             , CATE5_NO                 AS CATE_NO
-             , BRAND_GROUP_NO
-             , FORMAL_GB
-             , SUM(STOCK_QTY)           AS STOCK_QTY
-             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
-        FROM   TB_CATE_STOCK_TMP
-        WHERE  CATE5_NO IS NOT NULL
-        GROUP  BY SITE_CD, CATE5_NO, BRAND_GROUP_NO, FORMAL_GB
-        HAVING SUM(STOCK_QTY) > 0
-        UNION ALL
-        SELECT SITE_CD
-             , CATE4_NO                 AS CATE_NO
-             , BRAND_GROUP_NO
-             , FORMAL_GB
-             , SUM(STOCK_QTY)           AS STOCK_QTY
-             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
-        FROM   TB_CATE_STOCK_TMP
-        WHERE  CATE4_NO IS NOT NULL
-        GROUP  BY SITE_CD, CATE4_NO, BRAND_GROUP_NO, FORMAL_GB
-        HAVING SUM(STOCK_QTY) > 0
-        UNION ALL
-        SELECT SITE_CD
-             , CATE3_NO                 AS CATE_NO
-             , BRAND_GROUP_NO
-             , FORMAL_GB
-             , SUM(STOCK_QTY)           AS STOCK_QTY
-             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
-        FROM   TB_CATE_STOCK_TMP
-        WHERE  CATE3_NO IS NOT NULL
-        GROUP  BY SITE_CD, CATE3_NO, BRAND_GROUP_NO, FORMAL_GB
-        HAVING SUM(STOCK_QTY) > 0
-        UNION ALL
-        SELECT SITE_CD
-             , CATE2_NO                 AS CATE_NO
-             , BRAND_GROUP_NO
-             , FORMAL_GB
-             , SUM(STOCK_QTY)           AS STOCK_QTY
-             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
-        FROM   TB_CATE_STOCK_TMP
-        WHERE  CATE2_NO IS NOT NULL
-        GROUP  BY SITE_CD, CATE2_NO, BRAND_GROUP_NO, FORMAL_GB
-        HAVING SUM(STOCK_QTY) > 0
-        UNION ALL
-        SELECT SITE_CD
-             , CATE1_NO                 AS CATE_NO
-             , BRAND_GROUP_NO
-             , FORMAL_GB
-             , SUM(STOCK_QTY)           AS STOCK_QTY
-             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
-        FROM   TB_CATE_STOCK_TMP
-        WHERE  CATE1_NO IS NOT NULL
-        GROUP  BY SITE_CD, CATE1_NO, BRAND_GROUP_NO, FORMAL_GB
-        HAVING SUM(STOCK_QTY) > 0
-       ) Z
-WHERE  CATE_NO IS NOT NULL
-;
-
-SELECT * FROM TB_CATE_STOCK;
+TRUNCATE TABLE TB_CATE_STOCK_TMP;
+INSERT INTO TB_CATE_STOCK_TMP
+SELECT B.SITE_CD
+     , B.CATE1_NO
+     , B.CATE2_NO
+     , B.CATE3_NO
+     , B.CATE4_NO
+     , B.CATE5_NO
+     , A.GOODS_CD
+     , C.BRAND_GROUP_NO
+     , C.FORMAL_GB
+     , C.STOCK_QTY
+FROM   TB_CATE_GOODS A
+     , TB_CATE_4SRCH B
+     , (
+        SELECT G.GOODS_CD
+             , B.BRAND_GROUP_NO
+             , G.FORMAL_GB
+             , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
+        FROM   TB_GOODS G USE INDEX (IX_GOODS_11)
+             , VW_STOCK S
+             , TB_BRAND B
+        WHERE  G.GOODS_CD = S.GOODS_CD
+        AND    G.BRAND_CD = B.BRAND_CD
+        AND    G.GOODS_TYPE = 'G056_N' /*일반상품*/
+        AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
+        AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
+        AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
+        AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
+        AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘만*/
+        GROUP  BY G.GOODS_CD, B.BRAND_GROUP_NO, G.FORMAL_GB
+        UNION ALL
+        SELECT G.GOODS_CD
+             , B.BRAND_GROUP_NO
+             , G.FORMAL_GB
+             , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
+        FROM   TB_GOODS G USE INDEX (IX_GOODS_11)
+             , TB_GOODS_COMPOSE GC
+             , VW_STOCK S
+             , TB_BRAND B
+        WHERE  G.GOODS_CD = GC.GOODS_CD
+        AND    GC.COMPS_GOODS_CD = S.GOODS_CD
+        AND    G.BRAND_CD = B.BRAND_CD
+        AND    G.GOODS_TYPE != 'G056_N' /*일반상품이 아닌넘*/
+        AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
+        -- AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
+        AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
+        AND    GC.USE_YN = 'Y' /*사용하는구성상품*/
+        AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
+        AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
+        AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘만*/
+        GROUP  BY G.GOODS_CD, B.BRAND_GROUP_NO, G.FORMAL_GB
+       ) C
+WHERE  A.GOODS_CD = C.GOODS_CD
+AND    A.CATE_NO = B.LEAF_CATE_NO
+AND    B.CATE_TYPE = 'G031_10' /*상품분류카테고리*/
+;
+
+TRUNCATE TABLE TB_CATE_STOCK;
+INSERT INTO TB_CATE_STOCK (
+       SITE_CD
+     , CATE_NO
+     , BRAND_GROUP_NO
+     , FORMAL_GB
+     , STOCK_QTY
+     , GOODS_QTY
+     , REG_NO
+     , REG_DT
+)
+SELECT SITE_CD
+     , CATE_NO
+     , BRAND_GROUP_NO
+     , FORMAL_GB
+     , STOCK_QTY
+     , GOODS_QTY
+     , 0              AS REG_NO
+     , NOW()          AS REG_DT
+FROM   (
+        SELECT SITE_CD
+             , CATE5_NO                 AS CATE_NO
+             , BRAND_GROUP_NO
+             , FORMAL_GB
+             , SUM(STOCK_QTY)           AS STOCK_QTY
+             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
+        FROM   TB_CATE_STOCK_TMP
+        WHERE  CATE5_NO IS NOT NULL
+        GROUP  BY SITE_CD, CATE5_NO, BRAND_GROUP_NO, FORMAL_GB
+        HAVING SUM(STOCK_QTY) > 0
+        UNION ALL
+        SELECT SITE_CD
+             , CATE4_NO                 AS CATE_NO
+             , BRAND_GROUP_NO
+             , FORMAL_GB
+             , SUM(STOCK_QTY)           AS STOCK_QTY
+             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
+        FROM   TB_CATE_STOCK_TMP
+        WHERE  CATE4_NO IS NOT NULL
+        GROUP  BY SITE_CD, CATE4_NO, BRAND_GROUP_NO, FORMAL_GB
+        HAVING SUM(STOCK_QTY) > 0
+        UNION ALL
+        SELECT SITE_CD
+             , CATE3_NO                 AS CATE_NO
+             , BRAND_GROUP_NO
+             , FORMAL_GB
+             , SUM(STOCK_QTY)           AS STOCK_QTY
+             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
+        FROM   TB_CATE_STOCK_TMP
+        WHERE  CATE3_NO IS NOT NULL
+        GROUP  BY SITE_CD, CATE3_NO, BRAND_GROUP_NO, FORMAL_GB
+        HAVING SUM(STOCK_QTY) > 0
+        UNION ALL
+        SELECT SITE_CD
+             , CATE2_NO                 AS CATE_NO
+             , BRAND_GROUP_NO
+             , FORMAL_GB
+             , SUM(STOCK_QTY)           AS STOCK_QTY
+             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
+        FROM   TB_CATE_STOCK_TMP
+        WHERE  CATE2_NO IS NOT NULL
+        GROUP  BY SITE_CD, CATE2_NO, BRAND_GROUP_NO, FORMAL_GB
+        HAVING SUM(STOCK_QTY) > 0
+        UNION ALL
+        SELECT SITE_CD
+             , CATE1_NO                 AS CATE_NO
+             , BRAND_GROUP_NO
+             , FORMAL_GB
+             , SUM(STOCK_QTY)           AS STOCK_QTY
+             , COUNT(DISTINCT GOODS_CD) AS GOODS_QTY
+        FROM   TB_CATE_STOCK_TMP
+        WHERE  CATE1_NO IS NOT NULL
+        GROUP  BY SITE_CD, CATE1_NO, BRAND_GROUP_NO, FORMAL_GB
+        HAVING SUM(STOCK_QTY) > 0
+       ) Z
+WHERE  CATE_NO IS NOT NULL
+;
+
+SELECT * FROM TB_CATE_STOCK;

+ 24 - 0
산출물/4.구축/데이터처리/네이버EP생성.sql

@@ -385,4 +385,28 @@ AND    NOT EXISTS (SELECT 1
                    WHERE  GOODS_CD = G.GOODS_CD
                    AND    NOW() BETWEEN APPLY_STDT AND APPLY_EDDT
                   )
+;
+
+
+-- 네이버요약EP 생성
+
+
+-- 네이버판매지수 조회
+SELECT DATE_FORMAT(DATE_ADD(CURRENT_DATE(),INTERVAL -1 DAY),'%Y-%m-%d') AS DT          /*일자*/
+     , OD.GOODS_CD                                                      AS ID          /*상품ID*/
+     , SUM(OD.ORD_QTY - OD.CNCL_RTN_QTY)                                AS SALE_COUNT  /*판매수량*/
+     , SUM(OD.ORD_AMT - OD.CNCL_RTN_AMT)                                AS SALE_PRICE  /*판매금액*/
+     , COUNT(DISTINCT OD.ORD_NO)                                        AS ORDER_COUNT /*주문수량*/
+FROM   TB_ORDER O
+     , TB_ORDER_DETAIL OD
+WHERE  O.ORD_NO = OD.ORD_NO
+AND    O.PAY_DT > DATE_ADD(CURRENT_DATE(), INTERVAL -2 DAY)
+AND    O.PAY_DT < CURRENT_DATE()
+AND    OD.ORD_DTL_STAT IN ('G013_20','G013_30','G013_35','G013_40','G013_50','G013_55','G013_60','G013_70')
+AND    OD.AF_LINK_CD IN (SELECT AF_LINK_CD
+                         FROM   TB_AF_LINK
+                         WHERE  AF_CHANNEL = 'G053_02' /*네이버*/
+                         AND    USE_YN = 'Y'
+                        )
+GROUP  BY DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY),'%Y-%m-%d'), OD.GOODS_CD
 ;

+ 17 - 0
산출물/4.구축/데이터처리/다음EP생성.sql

@@ -149,3 +149,20 @@ AND    NOT EXISTS (SELECT 1
                   )
 ;
 
+
+-- 다음 상품평EP 목록
+SELECT R.GOODS_CD                           AS MAPID    /*상품ID*/
+     , R.REVIEW_SQ                          AS REVIEWID /*상품평ID*/
+     , CASE WHEN R.DISP_YN = 'N' OR R.DEL_YN = 'Y' THEN 'D'
+            ELSE 'S'
+       END                                  AS STATUS   /*상품평상태(S:정상, D:삭제)*/
+     , R.REVIEW_TITLE                       AS TITLE    /*상품평제목*/
+     , SUBSTRING(R.REVIEW_CONTENT,1,250)    AS CONTENT  /*상품평내용(250자이내)*/
+     , C.CUST_NM                            AS WRITER
+     , DATE_FORMAT(R.REG_DT,'%Y%m%d%H%i%S') AS CDATE /*상품평작성일시*/
+     , R.SCORE                              AS RATING /*상품평점수*/
+FROM   TB_REVIEW R
+     , TB_CUSTOMER C
+WHERE  R.REG_NO = C.CUST_NO
+AND    R.CONFIRM_YN = 'Y' /*컨펌된넘*/
+;