|
|
@@ -267,7 +267,7 @@
|
|
|
FROM TB_GOODS G
|
|
|
INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
|
|
|
AND O.DISP_YN = 'Y'
|
|
|
- INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
|
|
|
+ INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
|
|
|
AND O.OPT_CD = VS.OPT_CD
|
|
|
WHERE G.GOODS_CD = #{goodsCd}
|
|
|
AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
|
@@ -401,6 +401,7 @@
|
|
|
FROM TB_GOODS_VIDEO A
|
|
|
WHERE A.GOODS_CD = #{goodsCd}
|
|
|
AND A.DISP_YN = 'Y'
|
|
|
+ AND A.KMC_KEY IS NOT NULL
|
|
|
ORDER BY A.VIDEO_SQ DESC
|
|
|
<if test="maxRownum != null and maxRownum > 0">
|
|
|
LIMIT #{maxRownum}
|
|
|
@@ -671,97 +672,178 @@
|
|
|
<!-- 상품 다다익선 목록 -->
|
|
|
<select id="getTmtbGoodsList" parameterType="Goods" resultType="Goods">
|
|
|
/* TsfGoods.getTmtbGoodsList */
|
|
|
+ WITH TAB_MASTER_GOODS AS (
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (
|
|
|
+ SELECT @rownum := @rownum + 1 AS RNUM
|
|
|
+ , B.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.GOODS_GB
|
|
|
+ , G.FOREIGN_BUY_YN
|
|
|
+ , G.PARALLEL_IMPORT_YN
|
|
|
+ , G.ORDER_MADE_YN
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.CURR_PRICE
|
|
|
+ , GS.STOCK_QTY
|
|
|
+ FROM TB_TMTB A
|
|
|
+ JOIN ( SELECT @rownum := 0) R
|
|
|
+ INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ = B.TMTB_SQ
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
+ AND B.GOODS_GB IN ( 'G800_10', 'G800_20') -- 기본과 적용상품
|
|
|
+ LEFT OUTER JOIN TB_TMTB_APPLY_GOODS BB ON B.TMTB_SQ = BB.TMTB_SQ
|
|
|
+ AND BB.DEL_YN = 'N'
|
|
|
+ AND B.GOODS_CD = BB.GOODS_CD
|
|
|
+ AND BB.GOODS_GB = 'G800_30' -- 제외상품
|
|
|
+ AND BB.GOODS_CD IS NULL
|
|
|
+ INNER JOIN TB_GOODS G ON B.GOODS_CD = G.GOODS_CD
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
|
|
|
+ <![CDATA[
|
|
|
+ AND B.GOODS_CD <> #{goodsCd} -- 자기상품은 제외
|
|
|
+ ]]>
|
|
|
+ INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_SITE_BRAND SB ON D.BRAND_CD = SB.BRAND_CD
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
+ INNER JOIN TB_BRAND_GROUP E ON D.BRAND_GROUP_NO = E.BRAND_GROUP_NO
|
|
|
+ AND E.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_GOODS_STOCK GS ON G.GOODS_CD = GS.GOODS_CD
|
|
|
+ AND GS.STOCK_QTY > 0
|
|
|
+ WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
|
|
|
+ AND A.TMTB_STAT ='G232_11'
|
|
|
+ <![CDATA[
|
|
|
+ AND A.TMTB_SQ IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB IN ( 'G800_10', 'G800_20')) -- 기본과 적용상품
|
|
|
+ AND A.TMTB_SQ NOT IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB = 'G800_30') -- 제외상품
|
|
|
+ ]]>
|
|
|
+ ORDER BY A.TMTB_SQ DESC
|
|
|
+ ) Z
|
|
|
+ WHERE RNUM <![CDATA[<= ]]>#{maxRownum}
|
|
|
+ )
|
|
|
+ , TAB_GOODS AS (
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
|
|
|
+ -- , G.GOODS_GB
|
|
|
+ -- , G.FOREIGN_BUY_YN
|
|
|
+ -- , G.PARALLEL_IMPORT_YN
|
|
|
+ -- , G.ORDER_MADE_YN
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , G.BRAND_GROUP_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.STOCK_QTY
|
|
|
+ , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
|
|
|
+ , (CASE WHEN G.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
|
+ FROM TAB_MASTER_GOODS G
|
|
|
+ LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
|
|
|
+ AND IFNULL(#{custNo}, 0) = W.CUST_NO
|
|
|
+ )
|
|
|
SELECT Z.*
|
|
|
, 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
- , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
|
|
|
- , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
- , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
|
|
|
- , V.VIDEO_GB_M
|
|
|
- , V.VIDEO_VAL_M
|
|
|
- , V.VIDEO_GB_S
|
|
|
- , V.VIDEO_VAL_S
|
|
|
- , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
|
+ -- , V.VIDEO_GB_M
|
|
|
+ -- , V.VIDEO_VAL_M
|
|
|
+ -- , V.VIDEO_GB_S
|
|
|
+ -- , V.VIDEO_VAL_S
|
|
|
+ FROM TAB_GOODS Z
|
|
|
+ -- LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD
|
|
|
+ -- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
+ -- , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
+ -- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
+ -- , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
+ -- FROM (
|
|
|
+ -- SELECT A.GOODS_CD
|
|
|
+ -- , A.VIDEO_GB
|
|
|
+ -- , A.KMC_KEY
|
|
|
+ -- , A.REG_DT
|
|
|
+ -- , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT, A.KMC_KEY ) RNUM
|
|
|
+ -- FROM TAB_GOODS G
|
|
|
+ -- INNER JOIN TB_GOODS_VIDEO A ON G.GOODS_CD = A.GOODS_CD
|
|
|
+ -- WHERE A.DISP_YN = 'Y'
|
|
|
+ -- AND A.KMC_KEY IS NOT NULL
|
|
|
+ -- ) V
|
|
|
+ -- ) V ON Z.GOODS_CD = V.GOODS_CD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 추천상품 목록 -->
|
|
|
+ <select id="getRecommendGoodsList" parameterType="Goods" resultType="Goods">
|
|
|
+ /* TsfGoods.getRecommendGoodsList */
|
|
|
+ WITH TAB_MASTER_GOODS AS (
|
|
|
+ SELECT Z.*
|
|
|
FROM (
|
|
|
- SELECT B.GOODS_CD
|
|
|
- , G.GOODS_NM
|
|
|
- , G.GOODS_GB
|
|
|
- , G.FOREIGN_BUY_YN
|
|
|
- , G.PARALLEL_IMPORT_YN
|
|
|
- , G.ORDER_MADE_YN
|
|
|
- , G.GOODS_STAT
|
|
|
- , G.GOODS_TYPE
|
|
|
- , G.MAIN_COLOR_CD
|
|
|
- , G.MIN_ORD_QTY
|
|
|
- , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
|
|
|
- , G.LIST_PRICE
|
|
|
- , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
|
|
|
- , S.STOCK_QTY
|
|
|
- , S.SOLDOUT_YN
|
|
|
- , S.OPT_CD
|
|
|
- FROM TB_TMTB A
|
|
|
- INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ = B.TMTB_SQ
|
|
|
- AND B.DEL_YN = 'N'
|
|
|
- AND B.GOODS_GB IN ( 'G800_10', 'G800_20') -- 기본과 적용상품
|
|
|
- LEFT OUTER JOIN TB_TMTB_APPLY_GOODS BB ON B.TMTB_SQ = BB.TMTB_SQ
|
|
|
- AND BB.DEL_YN = 'N'
|
|
|
- AND B.GOODS_CD = BB.GOODS_CD
|
|
|
- AND BB.GOODS_GB = 'G800_30' -- 제외상품
|
|
|
- AND BB.GOODS_CD IS NULL
|
|
|
- INNER JOIN TB_GOODS G ON B.GOODS_CD = G.GOODS_CD
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
|
|
|
- <if test='adminYn == null or adminYn != "Y"'>
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- </if>
|
|
|
- <![CDATA[
|
|
|
- AND B.GOODS_CD <> #{goodsCd} -- 자기상품은 제외
|
|
|
- ]]>
|
|
|
+ SELECT @rownum := @rownum + 1 AS RNUM
|
|
|
+ , G.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.GOODS_GB
|
|
|
+ , G.FOREIGN_BUY_YN
|
|
|
+ , G.PARALLEL_IMPORT_YN
|
|
|
+ , G.ORDER_MADE_YN
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.CURR_PRICE
|
|
|
+ , GS.STOCK_QTY
|
|
|
+ , A.DISP_ORD
|
|
|
+ FROM (
|
|
|
+ ${goodsSql}
|
|
|
+ ) A
|
|
|
+ JOIN ( SELECT @rownum := 0) R
|
|
|
+ INNER JOIN TB_GOODS G ON A.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
|
|
|
- AND D.USE_YN = 'Y'
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
INNER JOIN TB_SITE_BRAND SB ON D.BRAND_CD = SB.BRAND_CD
|
|
|
- AND SB.USE_YN = 'Y'
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
INNER JOIN TB_BRAND_GROUP E ON D.BRAND_GROUP_NO = E.BRAND_GROUP_NO
|
|
|
- AND E.USE_YN = 'Y'
|
|
|
- LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
- , SUM(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE CURR_STOCK_QTY END) AS STOCK_QTY
|
|
|
- , MIN(SOLDOUT_YN) AS SOLDOUT_YN
|
|
|
- , MIN(CASE WHEN SOLDOUT_YN = 'N' THEN OPT_CD
|
|
|
- ELSE 'XXX' END) AS OPT_CD
|
|
|
- FROM VW_STOCK
|
|
|
- WHERE DISP_YN = 'Y'
|
|
|
- GROUP BY GOODS_CD) S ON G.GOODS_CD = S.GOODS_CD
|
|
|
- WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
|
|
|
- AND A.TMTB_STAT ='G232_11'
|
|
|
- <![CDATA[
|
|
|
- AND A.TMTB_SQ IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB IN ( 'G800_10', 'G800_20')) -- 기본과 적용상품
|
|
|
- AND A.TMTB_SQ NOT IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB = 'G800_30') -- 제외상품
|
|
|
- ]]>
|
|
|
- ORDER BY A.TMTB_SQ
|
|
|
- ) Z
|
|
|
- LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
- FROM (
|
|
|
- SELECT A.DISPLOC_VAL AS GOODS_CD
|
|
|
- , B.VIDEO_GB
|
|
|
- , B.VIDEO_VAL
|
|
|
- , A.REG_DT
|
|
|
- , RANK() OVER(PARTITION BY A.DISPLOC_VAL ORDER BY A.REG_DT ) RNUM
|
|
|
- FROM TB_VIDEO_DISPLOC A
|
|
|
- INNER JOIN TB_VIDEO B ON A.VIDEO_SQ = B.VIDEO_SQ
|
|
|
- AND B.DISP_YN ='Y'
|
|
|
- WHERE A.DISPLOC_GB ='G'
|
|
|
- AND A.DISP_YN = 'Y'
|
|
|
- ) V
|
|
|
- ) V ON Z.GOODS_CD = V.GOODS_CD
|
|
|
- LEFT OUTER JOIN TB_WISHLIST W ON Z.GOODS_CD = W.GOODS_CD
|
|
|
- AND IFNULL(#{custNo}, 0) = W.CUST_NO
|
|
|
- LIMIT #{maxRownum}
|
|
|
+ AND E.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_GOODS_STOCK GS ON G.GOODS_CD = GS.GOODS_CD
|
|
|
+ AND GS.STOCK_QTY > 0
|
|
|
+ WHERE G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
|
|
|
+ <![CDATA[
|
|
|
+ AND G.GOODS_CD <> #{goodsCd} -- 자기상품은 제외
|
|
|
+ ]]>
|
|
|
+ ) Z
|
|
|
+ WHERE RNUM <![CDATA[<= ]]>#{maxRownum}
|
|
|
+ )
|
|
|
+ , TAB_GOODS AS (
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , G.BRAND_GROUP_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.STOCK_QTY
|
|
|
+ , G.DISP_ORD
|
|
|
+ , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
|
|
|
+ , (CASE WHEN G.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
|
+ FROM TAB_MASTER_GOODS G
|
|
|
+ LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
|
|
|
+ AND IFNULL(#{custNo}, 0) = W.CUST_NO
|
|
|
+ )
|
|
|
+ SELECT Z.*
|
|
|
+ , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
+ FROM TAB_GOODS Z
|
|
|
+ ORDER BY DISP_ORD
|
|
|
</select>
|
|
|
|
|
|
<!-- 재입고 알림 미 알림 조회 -->
|
|
|
@@ -911,7 +993,7 @@
|
|
|
, G.MAIN_COLOR_CD
|
|
|
, GI.SYS_IMG_NM
|
|
|
FROM (
|
|
|
- ${todayGoodsSql}
|
|
|
+ ${goodsSql}
|
|
|
) A
|
|
|
, TB_GOODS G
|
|
|
, TB_GOODS_IMG GI
|
|
|
@@ -986,7 +1068,7 @@
|
|
|
AND C.DEL_YN = 'N'
|
|
|
AND C.LEFT_QTY > 0 -- 사은품 잔여수량
|
|
|
INNER JOIN TB_FREE_GOODS F ON F.PRODUCT_NO = C.PRODUCT_NO
|
|
|
- AND F.USE_YN = 'Y'
|
|
|
+ AND F.USE_YN = 'Y'
|
|
|
INNER JOIN TB_FREEGIFT_GOODS D ON A.FREEGIFT_SQ = D.FREEGIFT_SQ
|
|
|
AND D.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
AND D.TARGET_GB = 'G260_10'
|
|
|
@@ -1144,23 +1226,20 @@
|
|
|
/* 상품의 동영상 목록 */
|
|
|
SELECT GOODS_CD
|
|
|
, MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
, MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
FROM (
|
|
|
SELECT G.GOODS_CD
|
|
|
- , V.VIDEO_GB
|
|
|
- , V.VIDEO_VAL
|
|
|
+ , VD.VIDEO_GB
|
|
|
+ , VD.KMC_KEY
|
|
|
, VD.REG_DT
|
|
|
, RANK() OVER(PARTITION BY G.GOODS_CD ORDER BY VD.REG_DT) AS RNUM
|
|
|
FROM TAB_GOODS G
|
|
|
- , TB_VIDEO_DISPLOC VD
|
|
|
- , TB_VIDEO V
|
|
|
- WHERE G.GOODS_CD = VD.DISPLOC_VAL
|
|
|
- AND VD.VIDEO_SQ = V.VIDEO_SQ
|
|
|
- AND VD.DISPLOC_GB = 'G' /*상품*/
|
|
|
+ , TB_GOODS_VIDEO VD
|
|
|
+ WHERE G.GOODS_CD = VD.GOODS_CD
|
|
|
AND VD.DISP_YN = 'Y'
|
|
|
- AND V.DISP_YN ='Y'
|
|
|
+ AND VD.KMC_KEY IS NOT NULL
|
|
|
) Z
|
|
|
GROUP BY GOODS_CD
|
|
|
)
|
|
|
@@ -1297,23 +1376,20 @@
|
|
|
/* 상품의 동영상 목록 */
|
|
|
SELECT GOODS_CD
|
|
|
, MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
, MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
FROM (
|
|
|
SELECT G.GOODS_CD
|
|
|
- , V.VIDEO_GB
|
|
|
- , V.VIDEO_VAL
|
|
|
+ , VD.VIDEO_GB
|
|
|
+ , VD.KMC_KEY
|
|
|
, VD.REG_DT
|
|
|
, RANK() OVER(PARTITION BY G.GOODS_CD ORDER BY VD.REG_DT) AS RNUM
|
|
|
FROM TAB_GOODS G
|
|
|
- , TB_VIDEO_DISPLOC VD
|
|
|
- , TB_VIDEO V
|
|
|
- WHERE G.GOODS_CD = VD.DISPLOC_VAL
|
|
|
- AND VD.VIDEO_SQ = V.VIDEO_SQ
|
|
|
- AND VD.DISPLOC_GB = 'G' /*상품*/
|
|
|
+ , TB_GOODS_VIDEO VD
|
|
|
+ WHERE G.GOODS_CD = VD.GOODS_CD
|
|
|
AND VD.DISP_YN = 'Y'
|
|
|
- AND V.DISP_YN ='Y'
|
|
|
+ AND VD.KMC_KEY IS NOT NULL
|
|
|
) Z
|
|
|
GROUP BY GOODS_CD
|
|
|
)
|