gagamel 4 lat temu
rodzic
commit
950b0aa98f
1 zmienionych plików z 219 dodań i 172 usunięć
  1. 219 172
      산출물/4.구축/데이터처리/네이버EP생성.sql

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

@@ -1,57 +1,58 @@
 SET GROUP_CONCAT_MAX_LEN = 150000;
 
 -- 상품 이미지 정보 생성 (30초)
-DROP TABLE TMP_EP_GOODS_IMG;
-CREATE TABLE TMP_EP_GOODS_IMG AS
+TRUNCATE TABLE TB_EP_GOODS_IMG;
+INSERT INTO TB_EP_GOODS_IMG (
+       GOODS_CD
+     , IMAGE_LINK
+)
 SELECT G.GOODS_CD
-     , MIN(CONCAT('https://image.istyle24.com/Upload/ProductImage/',GI.SYS_IMG_NM)) AS IMAGE_LINK
+     , CONCAT('https://image.istyle24.com/Upload/ProductImage/',GI.SYS_IMG_NM) AS IMAGE_LINK
 FROM   TB_GOODS G
-     , TB_GOODS_IMG GI
+     , (
+        SELECT GOODS_CD
+             , COLOR_CD
+             , MIN(SYS_IMG_NM) AS SYS_IMG_NM
+        FROM   TB_GOODS_IMG
+        WHERE  DEFAULT_IMG_YN = 'Y'
+        GROUP BY GOODS_CD, COLOR_CD
+       ) GI
 WHERE  G.GOODS_CD = GI.GOODS_CD
 AND    IF(G.SELF_GOODS_YN = 'N','XX',G.MAIN_COLOR_CD) = GI.COLOR_CD
-AND    GI.DEFAULT_IMG_YN = 'Y'
--- AND    G.GOODS_CD = 'A91M-SH121A'
-GROUP  BY G.GOODS_CD
 ;
-SELECT COUNT(*) FROM TMP_EP_GOODS_IMG;
+
+SELECT COUNT(*) FROM TB_EP_GOODS_IMG;
 
 -- 상품 추가이미지 정보 생성 (15초 소요)
-DROP TABLE TMP_EP_GOODS_ADD_IMG;
-CREATE TABLE TMP_EP_GOODS_ADD_IMG AS
+TRUNCATE TABLE TB_EP_GOODS_ADD_IMG;
+INSERT INTO TB_EP_GOODS_ADD_IMG (
+       GOODS_CD
+     , ADD_IMAGE_LINK
+)
 SELECT GOODS_CD
      , GROUP_CONCAT(CONCAT('https://image.istyle24.com/Upload/ProductImage/',SYS_IMG_NM) SEPARATOR '|') AS ADD_IMAGE_LINK
-FROM   (SELECT DISTINCT
-               GOODS_CD
-             , SYS_IMG_NM
-        FROM   TB_GOODS_IMG
-        WHERE  DEFAULT_IMG_YN = 'N'
-        GROUP  BY GOODS_CD, SYS_IMG_NM
-        HAVING COUNT(*) <= 4
+FROM   (SELECT GI.GOODS_CD
+             , GI.SYS_IMG_NM
+             , RANK() OVER(PARTITION BY GI.GOODS_CD
+                           ORDER BY GI.DISP_ORD, GI.SYS_IMG_NM) AS RK
+        FROM   TB_GOODS G
+             , TB_GOODS_IMG GI
+        WHERE  G.GOODS_CD = GI.GOODS_CD
+        AND    IF(G.SELF_GOODS_YN = 'N','XX',G.MAIN_COLOR_CD) = GI.COLOR_CD
+        AND    GI.DEFAULT_IMG_YN = 'N'
        ) Z
+WHERE  RK <= 4
 GROUP  BY GOODS_CD
 ;
-SELECT COUNT(*) FROM TMP_EP_GOODS_ADD_IMG;
+
+SELECT COUNT(*) FROM TB_EP_GOODS_ADD_IMG;
 
 -- 카드이벤트 정보 생성
-DROP TABLE TMP_EP_CARD_EVENT;
--- CREATE TABLE TMP_EP_CARD_EVENT AS
--- SELECT CPC.MIN_PAY_AMT
---      , GROUP_CONCAT(DISTINCT
---                     CONCAT(FN_GET_CODE_NM('G941',CPT.PRMT_TARGET_CD),'^',
---                            CPC.MIN_NO_ITRT,'~',CPC.MAX_NO_ITRT)
---                     SEPARATOR '|') AS CARD_EVENT
--- FROM   TB_CARD_PROMOTION CP
---      , TB_CARD_PROMOTION_CONDITION CPC
---      , TB_CARD_PROMOTION_TARGET CPT
--- WHERE  CP.CARD_PRMT_SQ = CPC.CARD_PRMT_SQ
--- AND    CPC.CARD_PRMT_CDT_SQ = CPT.CARD_PRMT_CDT_SQ
--- AND    CP.PRMT_GB = 'B' /*무이자할부*/
--- AND    CP.PRMT_STD <= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
--- AND    CP.PRMT_EDD >= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
--- AND    CP.DISP_YN = 'Y'
--- GROUP  BY CPC.MIN_PAY_AMT
--- ;
-CREATE TABLE TMP_EP_CARD_EVENT AS
+TRUNCATE TABLE TB_EP_CARD_EVENT;
+INSERT INTO TB_EP_CARD_EVENT (
+       GOODS_CD
+     , CARD_EVENT
+)
 SELECT G.GOODS_CD
      , GROUP_CONCAT(DISTINCT
                     CONCAT(FN_GET_CODE_NM('G941',CPT.PRMT_TARGET_CD),'^',
@@ -81,72 +82,55 @@ AND    CP.DISP_YN = 'Y'
 AND    CPC.MIN_PAY_AMT < G.CURR_PRICE
 GROUP  BY G.GOODS_CD
 ;
-SELECT COUNT(*) FROM TMP_EP_CARD_EVENT;
 
--- 예약판매 정보 생성
--- SELECT GOODS_CD
---      , '예약판매' AS RES_SELL
--- FROM   TB_GOODS_RES_SELL
--- WHERE  DELV_RES_DT >= NOW()
--- AND    USE_YN = 'Y'
--- ;
+SELECT COUNT(*) FROM TB_EP_CARD_EVENT;
 
 -- 쿠폰 정보 생성 (47ms)
-DROP TABLE TMP_EP_COUPON;
-CREATE TABLE TMP_EP_COUPON AS
+TRUNCATE TABLE TB_EP_COUPON;
+INSERT INTO TB_EP_COUPON (
+       GOODS_CD
+     , COUPON
+)
 SELECT GOODS_CD
-     , CONCAT(IFNULL(NORMAL_CPN,''),'^',IFNULL(AFLINK_CPN,'')) AS COUPON
+     , CONCAT(IFNULL(NORMAL_CPN,''),IF(AFLINK_CPN11 IS NULL,'',CONCAT('^',AFLINK_CPN11)),IF(AFLINK_CPN10 IS NULL,'',CONCAT('^',AFLINK_CPN10))) AS COUPON
 FROM   (
         SELECT CR.REF_VAL            AS GOODS_CD
-             , CASE WHEN IFNULL((SELECT COUNT(*)
-                                 FROM   TB_COUPON_AF_CHANNEL
-                                 WHERE  CPN_ID = C.CPN_ID
-                                ),0) = 0 THEN
+             , CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
                         CONCAT(C.DC_PVAL,CASE WHEN C.DC_WAY = 'G240_10' THEN '원' ELSE '%' END)
                     ELSE
                         NULL
                END                   AS NORMAL_CPN /*일반쿠폰*/
-             , CASE WHEN IFNULL((SELECT COUNT(*)
-                                 FROM   TB_COUPON_AF_CHANNEL
-                                 WHERE  CPN_ID = C.CPN_ID
-                                ),0) > 0 AND C.DC_WAY = 'G240_11' THEN
+             , CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_10' THEN
                         C.DC_PVAL
                     ELSE
                         NULL
-               END                   AS AFLINK_CPN /*제휴쿠폰*/
-             , CASE WHEN IFNULL((SELECT COUNT(*)
-                                 FROM   TB_COUPON_AF_CHANNEL
-                                 WHERE  CPN_ID = C.CPN_ID
-                                ),0) = 0 THEN
+               END                   AS AFLINK_CPN10 /*정액제휴쿠폰*/
+             , CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_11' THEN
+                        C.DC_PVAL
+                    ELSE
+                        NULL
+               END                   AS AFLINK_CPN11 /*정율제휴쿠폰*/
+             , CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
                         CASE WHEN C.DC_WAY = 'G240_10' THEN C.DC_PVAL
                              ELSE IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
                         END
                     ELSE
                         0
                END                   AS NCPN_DC_AMT /*일반쿠폰할인금액*/
-             , CASE WHEN IFNULL((SELECT COUNT(*)
-                                 FROM   TB_COUPON_AF_CHANNEL
-                                 WHERE  CPN_ID = C.CPN_ID
-                                ),0) > 0 AND C.DC_WAY = 'G240_11' THEN
-                        IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
-                    ELSE
-                        0
-               END                   AS ACPN_DC_AMT /*제휴쿠폰할인금액*/
              , RANK() OVER(PARTITION BY CR.REF_VAL
-                           ORDER BY (CASE WHEN IFNULL((SELECT COUNT(*)
-                                                       FROM   TB_COUPON_AF_CHANNEL
-                                                       WHERE  CPN_ID = C.CPN_ID
-                                                      ),0) = 0 THEN
+                           ORDER BY (CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
                                               CASE WHEN C.DC_WAY = 'G240_10' THEN C.DC_PVAL
                                                    ELSE IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
                                               END
                                           ELSE
                                               0
                                      END) DESC,
-                                    (CASE WHEN IFNULL((SELECT COUNT(*)
-                                                       FROM   TB_COUPON_AF_CHANNEL
-                                                       WHERE  CPN_ID = C.CPN_ID
-                                                      ),0) > 0 AND C.DC_WAY = 'G240_11' THEN
+                                    (CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_10' THEN
+                                              C.DC_PVAL
+                                          ELSE
+                                              0
+                                     END) DESC,
+                                    (CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_11' THEN
                                               IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
                                           ELSE
                                               0
@@ -156,6 +140,17 @@ FROM   (
         INNER JOIN TB_COUPON_REFVAL CR ON C.CPN_ID = CR.CPN_ID
         INNER JOIN TB_GOODS G ON CR.REF_VAL = G.GOODS_CD
         LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD
+        LEFT OUTER JOIN (
+                         SELECT CPN_ID
+                              , COUNT(*) AS CNT
+                         FROM   TB_COUPON_AF_CHANNEL
+                         WHERE  AF_LINK_CD IN (SELECT AF_LINK_CD
+                                               FROM   TB_AF_LINK
+                                               WHERE  AF_CHANNEL = 'G053_02' /*네이버*/
+                                               AND    USE_YN = 'Y'
+                                              )
+                         GROUP  BY CPN_ID
+                        ) CAC ON C.CPN_ID = CAC.CPN_ID
         WHERE  C.SITE_CD = 'G000_10'
         AND    C.CPN_STAT = 'G232_11' /*진행쿠폰*/
         AND    C.CPN_TYPE IN ('G230_11','G230_20') /*상품쿠폰,주문서쿠폰*/
@@ -176,20 +171,29 @@ FROM   (
                            AND    DEL_YN = 'N'
                           )
        ) Z
-WHERE  1 = 1
--- AND    GOODS_CD = 'M211BLB35P'
-AND    RK = 1
+WHERE  RK = 1
+AND    (
+        NORMAL_CPN IS NOT NULL
+        OR
+        AFLINK_CPN10 IS NOT NULL
+        OR
+        AFLINK_CPN11 IS NOT NULL
+       )
 ;
-SELECT COUNT(*) FROM TMP_EP_COUPON;
+
+SELECT COUNT(*) FROM TB_EP_COUPON;
 
 -- 무이자이벤트 정보 생성
-DROP TABLE TMP_EP_INTEREST_FREE_EVENT;
-CREATE TABLE TMP_EP_INTEREST_FREE_EVENT AS
+TRUNCATE TABLE TB_EP_INTEREST_FREE_EVENT;
+INSERT INTO TB_EP_INTEREST_FREE_EVENT (
+       GOODS_CD
+     , INTEREST_FREE_EVENT
+)
 SELECT G.GOODS_CD
      , GROUP_CONCAT(DISTINCT
                     CONCAT(FN_GET_CODE_NM('G941',CPT.PRMT_TARGET_CD),'^',
                            CPC.MIN_NO_ITRT,'~',CPC.MAX_NO_ITRT)
-                    SEPARATOR '|') AS INTEREST_FREE_EVENT /*무이자이벤트. 판매가 > 무이자할부 최소구매금액 기준 초과 시 노출. 카드명^개월수~개월수|카드명^개월수~개월수... 형식으로 노출*/
+                    SEPARATOR '|') AS INTEREST_FREE_EVENT /*무이자이벤트정보*/
 FROM   TB_CARD_PROMOTION CP
      , TB_CARD_PROMOTION_CONDITION CPC
      , TB_CARD_PROMOTION_TARGET CPT
@@ -209,137 +213,180 @@ AND    CP.DISP_YN = 'Y'
 AND    CPC.MIN_PAY_AMT < G.CURR_PRICE
 GROUP  BY G.GOODS_CD
 ;
-SELECT COUNT(*) FROM TMP_EP_INTEREST_FREE_EVENT;
+SELECT COUNT(*) FROM TB_EP_INTEREST_FREE_EVENT;
 
--- EP네이버 생성
-DROP TABLE TMP_EP_NAVER;
-CREATE TABLE TMP_EP_NAVER AS
-SELECT G.GOODS_CD                                             AS ID
-     , CONCAT('[',CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END,'] ',
-              G.GOODS_NM,
-              IFNULL(G.GOODS_NUM,''))                         AS TITLE
-     , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_PC     /*즉시할인이적용된가격*/
-     , IFNULL(GBP.MO_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_MOBILE /*즉시할인이적용된가격*/
-     , G.LIST_PRICE                                           AS NORMAL_PRICE /*정상가*/
-     , G.GOODS_STAT
-     , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',
-              G.GOODS_CD)                                     AS LINK
-     , NULL                                                   AS MOBILE_LINK  /*PC URL과 다를 경우. 동일함으로 NULL로 처리*/
-     , GI.IMAGE_LINK
-     , GAI.ADD_IMAGE_LINK /*이미지4개까지(|로 구분)*/
-     , SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1)                   AS CATEGORY_NAME1
+-- 네이버 전체E 생성
+TRUNCATE TABLE TB_EP_NAVER;
+INSERT INTO TB_EP_NAVER (
+       GB
+     , ID
+     , TITLE
+     , PRICE_PC
+     , PRICE_MOBILE
+     , NORMAL_PRICE
+     , LINK
+     , MOBILE_LINK
+     , IMAGE_LINK
+     , ADD_IMAGE_LINK
+     , CATEGORY_NAME1
+     , CATEGORY_NAME2
+     , CATEGORY_NAME3
+     , CATEGORY_NAME4
+     , NAVER_CATEGORY
+     , GOODS_GB_NM
+     , IMPORT_FLAG
+     , PARALLEL_IMPORT
+     , ORDER_MADE
+     , PRODUCT_FLAG
+     , ADULT
+     , MANUFACTURE_DEFINE_NUMBER
+     , BRAND
+     , MAKER
+     , ORIGIN
+     , CARD_EVENT
+     , EVENT_WORDS
+     , COUPON
+     , PARTNER_COUPON_DOWNLOAD
+     , INTEREST_FREE_EVENT
+     , POINT
+     , SEARCH_TAG
+     , MINIMUM_PURCHASE_QUANTITY
+     , REVIEW_COUNT
+     , SHIPPING
+     , AGE_GROUP
+     , GENDER
+     , GOODS_STAT
+     , SELF_MALL_YN
+     , SELL_STDT
+     , SELL_EDDT
+     , UPD_GB
+     , UPDATE_TIME
+)
+SELECT 'LAST'                                                 AS GB                       /*구분(PREV:이전, CURR:현재)*/
+     , G.GOODS_CD                                             AS ID                       /*상품ID*/
+     , SUBSTRING(CONCAT('[',CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END,'] ',
+                        G.GOODS_NM,
+                        IFNULL(G.GOODS_NUM,'')),1,100)        AS TITLE                    /*상품명*/
+     , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_PC                 /*즉시할인이적용된가격*/
+     , IFNULL(GBP.MO_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_MOBILE             /*즉시할인이적용된가격*/
+     , G.LIST_PRICE                                           AS NORMAL_PRICE             /*정상가*/
+     , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',G.GOODS_CD)                      AS LINK                     /*PC상세URL*/
+     , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',G.GOODS_CD)                      AS MOBILE_LINK              /*모바일상세URL*/
+     , GI.IMAGE_LINK                                                                      /*이미지URL*/
+     , GAI.ADD_IMAGE_LINK                                                                 /*추가이미지URL(4개까지. |로 구분)*/
+     , SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1)                   AS CATEGORY_NAME1           /*카테고리명1*/
      , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) THEN
                 NULL
             ELSE
                 SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1)
-       END                                                    AS CATEGORY_NAME2
+       END                                                    AS CATEGORY_NAME2           /*카테고리명2*/
      , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) THEN
                 NULL
             ELSE
                 SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1)
-       END                                                    AS CATEGORY_NAME3
+       END                                                    AS CATEGORY_NAME3           /*카테고리명3*/
      , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1) THEN
                 NULL
             ELSE
                 SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1)
-       END                                                    AS CATEGORY_NAME4
---      , NULL                                                   AS NAVER_PRODUCT_ID
-     , FN_GET_CODE_NM('G073',G.GOODS_GB)                      AS CONDITION1
-     , G.FOREIGN_BUY_YN                                       AS IMPORT_FLAG     /*해외구매대행여부*/
-     , G.PARALLEL_IMPORT_YN                                   AS PARALLEL_IMPORT /*병행수입여부*/
-     , G.ORDER_MADE_YN                                        AS ORDER_MADE      /*주문제작상품여부*/
-     , IF(GRS.GOODS_CD IS NULL,NULL,'예약판매')                  AS PRODUCT_FLAG    /*예약판매*/
-     , G.ADULT_YN                                             AS ADULT           /*성인여부*/
-     , G.GOODS_NUM                                            AS MANUFACTURE_DEFINE_NUMBER /*제조번호*/
-     , IF(B.DISP_NM_LANG = 'EN',B.BRAND_ENM,B.BRAND_KNM)      AS BRAND           /*브랜드명*/
---      , (SELECT NI_CONTENT
---         FROM   TB_GOODS_NOTI_INFO
---         WHERE  GOODS_CD = G.GOODS_CD
---         AND    NI_ITEM_CD = 'G005_005'
---         LIMIT 1)                                              AS MAKER            /*제조사*/
-     , IFNULL(FN_GET_CODE_NM('G076',G.ORIGIN_CD),G.ORIGIN_CD) AS ORIGIN          /*원산지*/
-     , CE.CARD_EVENT      /*카드행사. 카드즉시할인 등록된 기준으로 적용. 카드명^카드적용가 형식*/
-     , G.GOODS_TNM                                            AS EVENT_WORDS     /*상품셀링문구*/
-     , TEC.COUPON
-     , IFE.INTEREST_FREE_EVENT /*무이자이벤트. 판매가 > 무이자할부 최소구매금액 기준 초과 시 노출. 카드명^개월수~개월수|카드명^개월수~개월수... 형식으로 노출*/
+       END                                                    AS CATEGORY_NAME4            /*카테고리명4*/
+     , EC.EP_CATE_CD                                          AS NAVER_CATEGORY            /*네이버카테고리*/
+     , CC1.CD_NM                                              AS GOODS_GB_NM               /*상품구분명*/
+     , G.FOREIGN_BUY_YN                                       AS IMPORT_FLAG               /*해외구매대행여부*/
+     , G.PARALLEL_IMPORT_YN                                   AS PARALLEL_IMPORT           /*병행수입여부*/
+     , G.ORDER_MADE_YN                                        AS ORDER_MADE                /*주문제작상품여부*/
+     , IF(GRS.GOODS_CD IS NULL,NULL,'예약판매')               AS PRODUCT_FLAG              /*예약판매*/
+     , G.ADULT_YN                                             AS ADULT                     /*성인여부*/
+     , G.GOODS_NUM                                            AS MANUFACTURE_DEFINE_NUMBER /*제품코드*/
+     , IF(B.DISP_NM_LANG = 'EN',B.BRAND_ENM,B.BRAND_KNM)      AS BRAND                     /*브랜드명*/
+     , SUBSTRING(GNI.NI_CONTENT,1,50)                         AS MAKER                     /*제조사*/
+     , CC2.CD_NM                                              AS ORIGIN                    /*원산지*/
+     , CE.CARD_EVENT                                                                       /*카드행사*/
+     , G.GOODS_TNM                                            AS EVENT_WORDS               /*상품셀링문구*/
+     , TEC.COUPON                                                                          /*쿠폰*/
+     , IF(TEC.COUPON IS NULL,NULL,'Y')                        AS PARTNER_COUPON_DOWNLOAD   /*쿠폰다운로드여부*/
+     , IFE.INTEREST_FREE_EVENT                                                             /*무이자행사*/
      , CONCAT('스타일포인트','^',
               CAST(IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * G.PNT_PRATE AS SIGNED INTEGER)
-             )                                                AS PNT             /*포인트. 스타일포인트^포인트금액 형식으로 표기*/
-     , CONCAT(IFNULL(G.GOODS_SNM,''),
-              CASE WHEN LENGTH(IFNULL(G.GOODS_SNM1,'')) = 0 THEN
-                       ''
-                   ELSE
-                       '|'
-              END,
-              IFNULL(G.GOODS_SNM1,'')
-             )                                                AS SEARCH_TAG
+             )                                                AS POINT                     /*포인트*/
+     , SUBSTRING(CONCAT(IFNULL(G.GOODS_SNM,''),
+                        CASE WHEN LENGTH(IFNULL(G.GOODS_SNM1,'')) = 0 THEN
+                                 ''
+                             ELSE
+                                 '|'
+                        END,
+                        IFNULL(G.GOODS_SNM1,'')
+                       ),1,100)                               AS SEARCH_TAG                /*검색태그*/
      , CASE WHEN G.MIN_ORD_QTY > 0 THEN
                 G.MIN_ORD_QTY
             ELSE
-                ''
-       END                                                    AS MINIMUM_PURCHASE_QUANTITY
-     , IFNULL(GS.REVIEW_REG_CNT,0)                            AS REVIEW_REG_CNT
+                NULL
+       END                                                    AS MINIMUM_PURCHASE_QUANTITY /*최소구매금액*/
+     , IFNULL(GS.REVIEW_REG_CNT,0)                            AS REVIEW_COUNT              /*상품평수*/
      , IFNULL(CASE WHEN DFP.DELV_FEE_CRITE = 'G078_20' /*무료*/ THEN
                        0
                    ELSE /*조건부무료 또는 유료*/
-                       CASE WHEN DFP.MIN_ORD_AMT <= IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY THEN
+                       CASE WHEN DFP.MIN_ORD_AMT <![CDATA[<=]]> IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY THEN
                                 0
                             ELSE
                                 DFP.DELV_FEE
                        END
-              END,0)                                          AS SHIPPING
+              END,0)                                          AS SHIPPING                  /*배송료*/
      , CASE WHEN SUBSTRING(I.ITEMKIND_CD,1,2) = '07' THEN '유아'
             WHEN SUBSTRING(I.ITEMKIND_CD,1,2) IN ('08','09','10') THEN '아동'
             WHEN SUBSTRING(I.ITEMKIND_CD,1,2) IN ('11','12','13') THEN '청소년'
             ELSE '성인'
-       END                                                    AS AGE_GROUP
+       END                                                    AS AGE_GROUP                 /*나이*/
      , CASE WHEN G.SEX_GB = 'G007_F' THEN '여성'
             WHEN G.SEX_GB = 'G007_M' THEN '남성'
             ELSE '남여공용'
-       END                                                    AS GENDER
-     , 'I'                                                    AS CLASS /*전체색인:I, 부분색인:전체색인 데이터랑 비교해서 없으면 I, 있는데 변경되었으면 U, 품절: D)*/
-     , DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S')                 AS UPDATE_TIME
+       END                                                    AS GENDER                    /*성별*/
+     , G.GOODS_STAT
+     , G.SELF_MALL_YN
+     , G.SELL_STDT
+     , G.SELL_EDDT
+     , 'I'                                    AS UPD_GB
+     , DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S') AS UPDATE_TIME /*변경일시*/
 FROM   TB_GOODS G
 INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
 INNER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD
-INNER JOIN TB_DELV_FEE_POLICY DFP ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
+INNER JOIN TB_DELV_FEE_POLICY DFP ON G.DELV_FEE_CD = DFP.DELV_FEE_CD 
+                                 AND G.SUPPLY_COMP_CD = DFP.SUPPLY_COMP_CD
+INNER JOIN TB_EP_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
 LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD
 LEFT OUTER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
-LEFT OUTER JOIN TMP_EP_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
-LEFT OUTER JOIN TMP_EP_GOODS_ADD_IMG GAI ON G.GOODS_CD = GAI.GOODS_CD
+LEFT OUTER JOIN TB_EP_GOODS_ADD_IMG GAI ON G.GOODS_CD = GAI.GOODS_CD
+LEFT OUTER JOIN (
+                 SELECT ITEMKIND_CD
+                      , MIN(EP_CATE_CD) AS EP_CATE_CD
+                 FROM   TB_EP_CATE
+                 WHERE  EP_GB = '10' /*네이버*/
+                 AND    USE_YN = 'Y'
+                 GROUP  BY ITEMKIND_CD
+                ) EC ON G.ITEMKIND_CD = EC.ITEMKIND_CD
 LEFT OUTER JOIN TB_GOODS_RES_SELL GRS ON G.GOODS_CD = GRS.GOODS_CD
                                      AND GRS.DELV_RES_DT >= NOW()
                                      AND GRS.USE_YN = 'Y'
-LEFT OUTER JOIN TMP_EP_CARD_EVENT CE ON G.GOODS_CD = CE.GOODS_CD
-LEFT OUTER JOIN TMP_EP_COUPON TEC ON G.GOODS_CD = TEC.GOODS_CD
-LEFT OUTER JOIN TMP_EP_INTEREST_FREE_EVENT IFE ON G.GOODS_CD = IFE.GOODS_CD
-WHERE  G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+LEFT OUTER JOIN TB_EP_CARD_EVENT CE ON G.GOODS_CD = CE.GOODS_CD
+LEFT OUTER JOIN TB_EP_COUPON TEC ON G.GOODS_CD = TEC.GOODS_CD
+LEFT OUTER JOIN TB_EP_INTEREST_FREE_EVENT IFE ON G.GOODS_CD = IFE.GOODS_CD
+LEFT OUTER JOIN TB_GOODS_NOTI_INFO GNI ON G.GOODS_CD = GNI.GOODS_CD
+                                      AND GNI.NI_ITEM_CD = 'G005_005' /*제조사*/
+LEFT OUTER JOIN TB_COMMON_CODE CC1 ON G.GOODS_GB = CC1.CD
+                                 AND CC1.CD_GB = 'G073'
+LEFT OUTER JOIN TB_COMMON_CODE CC2 ON G.ORIGIN_CD = CC2.CD
+                                  AND CC2.CD_GB = 'G076'
+WHERE  1 = 1
+AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
 AND    G.SELL_STDT <= NOW() /*유효한 판매기간*/
 AND    G.SELL_EDDT >= NOW() /*유효한 판매기간*/
 AND    G.ADULT_YN = 'N' /*성인상품아닌넘만*/
+AND    NOT EXISTS (SELECT 1
+                   FROM   TB_GOODS_EP_SKIP
+                   WHERE  GOODS_CD = G.GOODS_CD
+                   AND    NOW() BETWEEN APPLY_STDT AND APPLY_EDDT
+                  )
 ;
-SELECT COUNT(*) FROM TMP_EP_NAVER;
 
--- SELECT ID, COUNT(*) AS CNT
--- FROM   TMP_EP_NAVER Z
--- GROUP  BY ID
--- HAVING COUNT(*) > 1
--- ;
--- 
--- SELECT *
--- FROM   TMP_EP_NAVER
--- WHERE  ID IN (
--- 'A91M-SH121A',
--- 'F99U-TS971B',
--- 'F75A-MM92ZA',
--- 'B195Z5210P',
--- 'F75U-TS94ZA',
--- 'F71M-CP02ZA',
--- 'O174TS001P',
--- 'F75M-DP942B',
--- 'F71U-TS18ZA',
--- 'F65M-DP909A'
--- )
--- ORDER  BY ID
--- ;
+SELECT COUNT(*) FROM TB_EP_NAVER;