|
|
@@ -0,0 +1,193 @@
|
|
|
+/* TsfDisplay.getCategoryGoodsList */
|
|
|
+ WITH TAB_GOODS AS (
|
|
|
+ SELECT G.BRAND_GROUP_NM /*브랜드그룹명*/
|
|
|
+ , G.GOODS_CD /*상품코드*/
|
|
|
+ , G.GOODS_NM /*상품명*/
|
|
|
+ , G.GOODS_GB /*상품구분*/
|
|
|
+ , G.SELF_GOODS_YN /*자사상품여부*/
|
|
|
+ , G.FOREIGN_BUY_YN /*해외구매대행여부*/
|
|
|
+ , G.PARALLEL_IMPORT_YN /*병행수입여부*/
|
|
|
+ , G.ORDER_MADE_YN /*주문제작여부*/
|
|
|
+ , G.GOODS_TNM /*상품타이틀명*/
|
|
|
+ , G.MAIN_COLOR_CD /*대표색상코드*/
|
|
|
+ , G.LIST_PRICE /*정상가(최초판매가)*/
|
|
|
+ , G.CURR_PRICE /*현재판매가*/
|
|
|
+ , G.FORMAL_GB
|
|
|
+ , G.REG_DT /*등록일시*/
|
|
|
+ , G.SELL_WEEK_QTY /*주간판매수량*/
|
|
|
+ , G.REVIEW_REG_CNT /*리뷰등록건수*/
|
|
|
+ FROM (
|
|
|
+ SELECT CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
|
|
|
+ BG.BRAND_GROUP_ENM
|
|
|
+ ELSE
|
|
|
+ BG.BRAND_GROUP_KNM
|
|
|
+ END AS BRAND_GROUP_NM /*브랜드그룹명*/
|
|
|
+ , G.GOODS_CD /*상품코드*/
|
|
|
+ , G.GOODS_NM /*상품명*/
|
|
|
+ , G.GOODS_GB /*상품구분*/
|
|
|
+ , G.SELF_GOODS_YN /*자사상품여부*/
|
|
|
+ , G.FOREIGN_BUY_YN /*해외구매대행여부*/
|
|
|
+ , G.PARALLEL_IMPORT_YN /*병행수입여부*/
|
|
|
+ , G.ORDER_MADE_YN /*주문제작여부*/
|
|
|
+ , G.GOODS_TNM /*상품타이틀명*/
|
|
|
+ , G.MAIN_COLOR_CD /*대표색상코드*/
|
|
|
+ , G.LIST_PRICE /*정상가(최초판매가)*/
|
|
|
+ , CASE WHEN 'P' = 'P' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_PC_CURR_PRICE
|
|
|
+ WHEN 'P' = 'M' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_MO_CURR_PRICE
|
|
|
+ WHEN 'P' = 'A' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_APP_CURR_PRICE
|
|
|
+ WHEN 'P' = 'P' AND GBP.CUST_GB != 'G100_20' THEN GBP.PC_CURR_PRICE
|
|
|
+ WHEN 'P' = 'M' AND GBP.CUST_GB != 'G100_20' THEN GBP.MO_CURR_PRICE
|
|
|
+ WHEN 'P' = 'A' AND GBP.CUST_GB != 'G100_20' THEN GBP.APP_CURR_PRICE
|
|
|
+ ELSE G.CURR_PRICE
|
|
|
+ END AS CURR_PRICE /*현재판매가*/
|
|
|
+ , G.MIN_ORD_AMT /*최수주문금액*/
|
|
|
+ , G.FORMAL_GB /*정상이월구분*/
|
|
|
+ , G.REG_DT /*등록일시*/
|
|
|
+ , GS.SELL_WEEK_QTY /*주간판매수량*/
|
|
|
+ , GS.REVIEW_REG_CNT /*리뷰등록건수*/
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
+ INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
+ INNER JOIN TB_GOODS G ON CG.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_GOODS_STOCK S ON CG.GOODS_CD = S.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
+ INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
+ INNER JOIN TB_GOODS_SUMMARY GS ON CG.GOODS_CD = GS.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON CG.GOODS_CD = GBP.GOODS_CD
|
|
|
+ WHERE C4.SITE_CD = 'G000_10'
|
|
|
+ AND C4.CATE_GB = 'G032_101'
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
+ AND C4.CATE1_NO = 1100 /**P*/
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
|
|
|
+ AND S.STOCK_QTY > 0 /*재고있는 상품*/
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
+ AND BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
|
|
|
+ ) G
|
|
|
+ WHERE 1 = 1
|
|
|
+ )
|
|
|
+ , TAB_OPTION AS (
|
|
|
+ /* 자사상품 색상 목록 */
|
|
|
+ SELECT O.GOODS_CD
|
|
|
+ , O.OPT_CD1 AS MAIN_COLOR_CD
|
|
|
+ FROM TAB_GOODS G
|
|
|
+ , TB_OPTION O
|
|
|
+ WHERE G.GOODS_CD = O.GOODS_CD
|
|
|
+ AND G.SELF_GOODS_YN = 'Y' /*자사상품만*/
|
|
|
+ AND O.DISP_YN = 'N'
|
|
|
+ GROUP BY O.GOODS_CD, O.OPT_CD1
|
|
|
+ )
|
|
|
+ , TAB_ALL_GOODS AS (
|
|
|
+ SELECT *
|
|
|
+ FROM (
|
|
|
+ SELECT G.BRAND_GROUP_NM
|
|
|
+ , G.GOODS_CD
|
|
|
+ , G.GOODS_NM /*상품명*/
|
|
|
+ , G.GOODS_GB /*상품구분*/
|
|
|
+ , G.SELF_GOODS_YN /*자사상품여부*/
|
|
|
+ , G.FOREIGN_BUY_YN /*해외구매대행여부*/
|
|
|
+ , G.PARALLEL_IMPORT_YN /*병행수입여부*/
|
|
|
+ , G.ORDER_MADE_YN /*주문제작여부*/
|
|
|
+ , G.GOODS_TNM /*상품타이틀명*/
|
|
|
+ , IFNULL(O.MAIN_COLOR_CD,G.MAIN_COLOR_CD) AS MAIN_COLOR_CD /*대표색상코드*/
|
|
|
+ , G.LIST_PRICE /*정상가(최초판매가)*/
|
|
|
+ , G.CURR_PRICE /*현재판매가*/
|
|
|
+ , G.FORMAL_GB
|
|
|
+ , G.REG_DT /*등록일시*/
|
|
|
+ , G.SELL_WEEK_QTY
|
|
|
+ , G.REVIEW_REG_CNT
|
|
|
+ , RANK() OVER(ORDER BY G.FORMAL_GB
|
|
|
+ , G.REG_DT DESC
|
|
|
+ , G.GOODS_CD) AS NUMB
|
|
|
+ FROM TAB_GOODS G
|
|
|
+ LEFT OUTER JOIN TAB_OPTION O ON G.GOODS_CD = O.GOODS_CD
|
|
|
+ ) ORIGINAL
|
|
|
+ WHERE 1=1
|
|
|
+ AND NUMB BETWEEN 1 /**P*/ AND 30 /**P*/
|
|
|
+ )
|
|
|
+ , TAB_GOODS_IMG AS (
|
|
|
+ /* 상품의 이미지 */
|
|
|
+ SELECT GOODS_CD
|
|
|
+ ,MAX(SYS_IMG_NM) AS SYS_IMG_NM
|
|
|
+ ,MAX(SYS_IMG_NM2) AS SYS_IMG_NM2
|
|
|
+ FROM (
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END AS SYS_IMG_NM
|
|
|
+ , CASE WHEN GI.MOUSEOVER_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END AS SYS_IMG_NM2
|
|
|
+ FROM TAB_ALL_GOODS G
|
|
|
+ , TB_GOODS_IMG GI
|
|
|
+ WHERE G.GOODS_CD = GI.GOODS_CD
|
|
|
+ AND G.MAIN_COLOR_CD = GI.COLOR_CD
|
|
|
+ ) Z
|
|
|
+ GROUP BY GOODS_CD
|
|
|
+ )
|
|
|
+ SELECT G.BRAND_GROUP_NM
|
|
|
+ , G.GOODS_CD
|
|
|
+ , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
|
|
|
+ , G.GOODS_TNM
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.CURR_PRICE /*현재판매가*/
|
|
|
+ , GI.SYS_IMG_NM
|
|
|
+ , GI.SYS_IMG_NM2
|
|
|
+ , (
|
|
|
+ SELECT GROUP_CONCAT(CONCAT(VIDEO_GB,':',KMC_KEY) ORDER BY NUMB SEPARATOR ',')
|
|
|
+ FROM (
|
|
|
+ SELECT GV.VIDEO_GB
|
|
|
+ , GV.KMC_KEY
|
|
|
+ , GV.REG_DT
|
|
|
+ , RANK() OVER(ORDER BY GV.REG_DT, GV.KMC_KEY) AS NUMB
|
|
|
+ FROM TB_GOODS_VIDEO GV
|
|
|
+ WHERE GV.GOODS_CD = G.GOODS_CD
|
|
|
+ AND GV.DISP_YN = 'Y'
|
|
|
+ AND GV.KMC_KEY IS NOT NULL
|
|
|
+ ) Z
|
|
|
+ WHERE NUMB <= 2
|
|
|
+ ) AS VIDEO_VAL
|
|
|
+ , (
|
|
|
+ SELECT GROUP_CONCAT(DISTINCT CONCAT(C.COLOR_CD,':',CC.CD_DESC) ORDER BY CC.DISP_ORD SEPARATOR ',') AS COLOR_CHIPS
|
|
|
+ FROM TB_OPTION O
|
|
|
+ , TB_COLOR C
|
|
|
+ , TB_COMMON_CODE CC
|
|
|
+ WHERE O.OPT_CD1 = C.COLOR_CD
|
|
|
+ AND C.COLOR_GRP_CD = CC.CD
|
|
|
+ AND O.GOODS_CD = G.GOODS_CD
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ AND C.USE_YN = 'Y'
|
|
|
+ AND CC.USE_YN = 'Y'
|
|
|
+ ) AS COLOR_CHIPS /*컬러칩*/
|
|
|
+ , (
|
|
|
+ SELECT GROUP_CONCAT(DISTINCT CONCAT(OPT_CD2
|
|
|
+ ,':'
|
|
|
+ ,CASE WHEN SOLDOUT_YN = 'Y' THEN 'Y'
|
|
|
+ ELSE
|
|
|
+ CASE WHEN CURR_STOCK_QTY - BASE_STOCK_QTY > 0 THEN 'N'
|
|
|
+ ELSE 'Y'
|
|
|
+ END
|
|
|
+ END)
|
|
|
+ ORDER BY DISP_ORD SEPARATOR ',') AS SIZES
|
|
|
+ FROM VW_STOCK
|
|
|
+ WHERE GOODS_CD = G.GOODS_CD
|
|
|
+ AND OPT_CD1 = G.MAIN_COLOR_CD
|
|
|
+ AND DISP_YN = 'Y'
|
|
|
+ ) AS SIZES /*사이즈*/
|
|
|
+ , (
|
|
|
+ SELECT GROUP_CONCAT(CONCAT(BENEFIT_GB,':',BENEFIT_NM) ORDER BY NUMB SEPARATOR ',')
|
|
|
+ FROM (
|
|
|
+ SELECT GB.BENEFIT_GB
|
|
|
+ , CASE WHEN GB.BENEFIT_GB = '10' THEN '쿠폰할인'
|
|
|
+ WHEN GB.BENEFIT_GB = '20' THEN '무료배송'
|
|
|
+ WHEN GB.BENEFIT_GB = '30' THEN '사은품'
|
|
|
+ ELSE '신상' END AS BENEFIT_NM
|
|
|
+ , RANK() OVER(ORDER BY GB.BENEFIT_GB, GB.GOODS_CD) AS NUMB
|
|
|
+ FROM TB_GOODS_BENEFIT GB
|
|
|
+ WHERE GB.GOODS_CD = G.GOODS_CD
|
|
|
+ ) Z
|
|
|
+ ) AS ICON
|
|
|
+ , FORMAL_GB
|
|
|
+ , REG_DT
|
|
|
+ , NUMB
|
|
|
+ , '' AS LIKE_IT /*위시리스트담긴상품*/
|
|
|
+ FROM TAB_ALL_GOODS G
|
|
|
+ LEFT OUTER JOIN TAB_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
|