gagamel 5 лет назад
Родитель
Сommit
b846230cd7
1 измененных файлов с 113 добавлено и 0 удалено
  1. 113 0
      산출물/검색/검색_상품색인.sql

+ 113 - 0
산출물/검색/검색_상품색인.sql

@@ -158,4 +158,117 @@ AND G.GOODS_STAT = 'G008_90'
 -- ) Z
 -- WHERE 1 = 1
 -- AND Z.AD_KEYWORD IS NOT NULL
+;
+
+
+TRUNCATE TABLE TMP_SEARCH_ENGINE;
+
+CREATE TABLE TMP_SEARCH_ENGINE AS
+WITH TAB_GOODS AS (
+	SELECT G.GOODS_CD
+	     , G.GOODS_NM
+	     , G.GOODS_TNM
+	     , G.GOODS_GB
+	     , G.FOREIGN_BUY_YN
+	     , G.PARALLEL_IMPORT_YN
+	     , G.ORDER_MADE_YN
+	     , G.GOODS_SNM        
+	     , G.BRAND_CD
+	     , G.ITEMKIND_CD
+	     , G.FORMAL_GB
+	     , G.LIST_PRICE
+	     , G.CURR_PRICE
+	     , G.SELF_GOODS_YN
+	     , G.GOODS_STAT
+	     , G.PNT_PRATE
+	     , G.PRE_PPNT_USABLE_YN
+	     , G.PNT_MRATE
+	     , G.PRE_MPNT_USABLE_YN
+	     , G.MIN_ORD_QTY
+	     , G.MAX_ORD_QTY
+	     , G.DAY_MAX_ORD_QTY
+	     , G.SEX_GB
+	     , G.MAIN_COLOR_CD
+	     , G.SUPPLY_COMP_CD
+	     , G.SELF_MALL_YN
+	     , G.AGE_GRP_CD
+	     , G.SEASON_CD 
+	     , G.GOODS_TYPE
+	     , G.REG_DT AS REG_DT 
+	FROM   TB_GOODS G
+), TAB_OPT_SIZE AS (
+    /*옵션 사이즈 목록 조회*/
+    /*자사상품*/
+    SELECT G.GOODS_CD
+         , O.OPT_CD
+         , O.OPT_CD1
+         , C.COLOR_FILE /*RGB값*/
+         , GROUP_CONCAT(CONCAT(O.OPT_CD2,'|',O.SOLDOUT_YN,'|',VS.CURR_STOCK_QTY)) AS SIZE_INFO
+    FROM   TAB_GOODS G
+         , TB_OPTION O
+         , TB_COLOR C
+         , VW_STOCK VS
+    WHERE  G.GOODS_CD = O.GOODS_CD
+    AND    O.OPT_CD1 = C.COLOR_CD
+    AND    O.GOODS_CD = VS.GOODS_CD
+    AND    O.OPT_CD = VS.OPT_CD
+    AND    G.SELF_GOODS_YN = 'Y' /*자사상품*/
+    AND    O.DISP_YN = 'Y'
+    AND    C.USE_YN = 'Y'
+    GROUP  BY G.GOODS_CD, O.OPT_CD, O.OPT_CD1, C.COLOR_FILE
+    UNION ALL
+    /*입점상품*/
+    SELECT G.GOODS_CD
+         , O.OPT_CD
+         , G.MAIN_COLOR_CD AS OPT_CD1
+         , NULL            AS COLOR_FILE /*RGB값*/
+         , GROUP_CONCAT(CONCAT(O.OPT_CD2,'|',O.SOLDOUT_YN,'|',VS.CURR_STOCK_QTY)) AS SIZE_INFO
+    FROM   TAB_GOODS G
+         , TB_OPTION O
+         , VW_STOCK VS
+    WHERE  G.GOODS_CD = O.GOODS_CD
+    AND    O.GOODS_CD = VS.GOODS_CD
+    AND    O.OPT_CD = VS.OPT_CD
+    AND    G.SELF_GOODS_YN = 'N' /*입점상품*/
+    AND    O.DISP_YN = 'Y'
+    GROUP  BY G.GOODS_CD, O.OPT_CD, G.MAIN_COLOR_CD
+), TAB_OPT AS (
+    /*옵션 목록*/
+    SELECT OS.GOODS_CD
+         , GROUP_CONCAT(OS.SIZE_INFO ORDER BY OS.SIZE_INFO) AS SIZES
+    FROM   TAB_OPT_SIZE OS
+    GROUP  BY OS.GOODS_CD, OS.OPT_CD1
+), TAB_CPN_ICON AS (
+    /*상품별 쿠폰 아이콘 목록*/
+    SELECT G.GOODS_CD
+         , FN_IS_GOODS_COUPON('P',G.GOODS_CD,GBP.PC_CURR_PRICE)  AS CPN_PC_ICON  -- 속도 이슈
+         , FN_IS_GOODS_COUPON('M',G.GOODS_CD,GBP.MO_CURR_PRICE)  AS CPN_MO_ICON
+         , FN_IS_GOODS_COUPON('A',G.GOODS_CD,GBP.APP_CURR_PRICE) AS CPN_APP_ICON
+         , FN_GET_FREEGIFT_GOODS_YN(G.GOODS_CD)                  AS FREEGIFT_ICON
+    FROM   TAB_GOODS G
+         , TB_GOODS_BENEFIT_PRICE GBP
+    WHERE  G.GOODS_CD = GBP.GOODS_CD
+    AND    GBP.CUST_GB = 'G100_00'
+)
+SELECT G.*
+     , O.SIZES
+     , CI.CPN_PC_ICON
+     , CI.CPN_MO_ICON
+     , CI.CPN_APP_ICON
+     , CI.FREEGIFT_ICON
+     , I.SIZE_GB
+     , CASE WHEN I.SIZE_GB = 'T' THEN '상의'
+            WHEN I.SIZE_GB = 'B' THEN '하의'
+            WHEN I.SIZE_GB = 'S' THEN '신발'
+            ELSE NULL
+       END       AS SIZE_GB_NM
+FROM   TAB_GOODS G
+     , TAB_OPT O
+     , TAB_CPN_ICON CI
+     , TB_ITEMKIND I
+WHERE  G.GOODS_CD = O.GOODS_CD
+AND    G.GOODS_CD = CI.GOODS_CD
+AND    G.ITEMKIND_CD = I.ITEMKIND_CD
+-- AND    G.SELF_GOODS_YN = 'Y'
+-- AND    G.GOODS_CD = '14373685'
 ;