|
|
@@ -1776,7 +1776,7 @@
|
|
|
,(CASE WHEN RNK.LIST_PRICE > 0 THEN 100 - ROUND((RNK.CURR_PRICE / RNK.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
|
|
|
FROM
|
|
|
(
|
|
|
- SELECT ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DISP_ORD DESC, GOODS.DIS) AS RNUM
|
|
|
+ SELECT ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DIS DESC, GOODS.DISP_ORD DESC, GOODS.REG_DT DESC) AS RNUM
|
|
|
, GOODS.*
|
|
|
FROM
|
|
|
(
|
|
|
@@ -1803,6 +1803,7 @@
|
|
|
, G.LIST_PRICE /*정상가(최초판매가)*/
|
|
|
, G.CURR_PRICE /*현재판매가*/
|
|
|
, 1 AS DIS
|
|
|
+ , G.REG_DT
|
|
|
FROM TB_SHOT_DELV_BRAND SDB
|
|
|
INNER JOIN TB_SHOT_DELV_GOODS SDG
|
|
|
ON SDB.BRAND_GROUP_NO = SDG.BRAND_GROUP_NO
|
|
|
@@ -1844,6 +1845,7 @@
|
|
|
, G.LIST_PRICE /*정상가(최초판매가)*/
|
|
|
, G.CURR_PRICE /*현재판매가*/
|
|
|
, 2 AS DIS
|
|
|
+ , G.REG_DT
|
|
|
FROM TB_SHOT_DELV_BRAND SDB
|
|
|
INNER JOIN TB_BRAND_GROUP BG
|
|
|
ON SDB.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
@@ -1867,58 +1869,9 @@
|
|
|
)GOODS
|
|
|
WHERE CASE WHEN GOODS.GOODS_CD_CNT>1 THEN GOODS.DIS = 1 ELSE GOODS.DIS = 2 END
|
|
|
)RNK
|
|
|
- WHERE RNK.RNUM <![CDATA[<=]]> 100
|
|
|
+ WHERE RNK.RNUM <![CDATA[<=]]> 30
|
|
|
)
|
|
|
- , TAB_GOODS_IMG AS (
|
|
|
- /* 상품의 이미지 */
|
|
|
- SELECT BG.GOODS_CD
|
|
|
- , MAX(CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END) AS SYS_IMG_NM
|
|
|
- FROM TAB_BRAND_GOODS BG
|
|
|
- , TB_GOODS_IMG GI
|
|
|
- WHERE BG.GOODS_CD = GI.GOODS_CD
|
|
|
- AND BG.MAIN_COLOR_CD = GI.COLOR_CD
|
|
|
- AND (GI.DEFAULT_IMG_YN = 'Y' OR GI.MOUSEOVER_IMG_YN = 'Y')
|
|
|
- GROUP BY BG.GOODS_CD
|
|
|
- )
|
|
|
- , TAB_COLORCHIP AS (
|
|
|
- /* 상품 컬러칩 */
|
|
|
- SELECT BG.GOODS_CD
|
|
|
- , GROUP_CONCAT(DISTINCT CONCAT(C.COLOR_CD,':',CC.CD_DESC) ORDER BY CC.DISP_ORD SEPARATOR ',') AS COLOR_CHIPS
|
|
|
- FROM TAB_BRAND_GOODS BG
|
|
|
- , TB_OPTION O
|
|
|
- , TB_COLOR C
|
|
|
- , TB_COMMON_CODE CC
|
|
|
- WHERE BG.GOODS_CD = O.GOODS_CD
|
|
|
- AND O.OPT_CD1 = C.COLOR_CD
|
|
|
- AND C.COLOR_GRP_CD = CC.CD
|
|
|
- AND O.DISP_YN = 'Y'
|
|
|
- AND C.USE_YN = 'Y'
|
|
|
- AND CC.USE_YN = 'Y'
|
|
|
- GROUP BY BG.GOODS_CD
|
|
|
- )
|
|
|
- , TAB_GOODS_BENEFIT AS (
|
|
|
- /* 상품혜택 */
|
|
|
- SELECT GOODS_CD
|
|
|
- , GROUP_CONCAT(CONCAT(BENEFIT_GB,':',BENEFIT_NM) ORDER BY NUMB SEPARATOR ',') AS ICON
|
|
|
- FROM (
|
|
|
- SELECT BG.GOODS_CD
|
|
|
- , GB.BENEFIT_GB
|
|
|
- , CASE WHEN GB.BENEFIT_GB = '10' THEN '쿠폰할인'
|
|
|
- WHEN GB.BENEFIT_GB = '20' THEN '무료배송'
|
|
|
- WHEN GB.BENEFIT_GB = '30' THEN '사은품'
|
|
|
- WHEN GB.BENEFIT_GB = '40' THEN '신상'
|
|
|
- ELSE '총알배송'
|
|
|
- END AS BENEFIT_NM
|
|
|
- , RANK() OVER(PARTITION BY BG.GOODS_CD
|
|
|
- ORDER BY GB.BENEFIT_GB
|
|
|
- , GB.GOODS_CD) AS NUMB
|
|
|
- FROM TAB_BRAND_GOODS BG
|
|
|
- , TB_GOODS_BENEFIT GB
|
|
|
- WHERE BG.GOODS_CD = GB.GOODS_CD
|
|
|
- ) Z
|
|
|
- GROUP BY GOODS_CD
|
|
|
- )
|
|
|
- SELECT
|
|
|
+ SELECT
|
|
|
BG.RNUM
|
|
|
, BG.BRAND_NM
|
|
|
, BG.GOODS_CD
|
|
|
@@ -1929,9 +1882,39 @@
|
|
|
, BG.MAIN_COLOR_CD
|
|
|
, BG.LIST_PRICE
|
|
|
, FN_GET_BENEFIT_PRICE( #{frontGb} /**P*/,BG.GOODS_CD,BG.CURR_PRICE,#{custGb}) AS CURR_PRICE /*현재판매가*/
|
|
|
- , GI.SYS_IMG_NM
|
|
|
- , C.COLOR_CHIPS /*컬러칩*/
|
|
|
- , GB.ICON /*혜택아이콘*/
|
|
|
+ , (SELECT MAX(CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END)
|
|
|
+ FROM TB_GOODS_IMG GI
|
|
|
+ WHERE GI.GOODS_CD = BG.GOODS_CD AND GI.COLOR_CD = BG.MAIN_COLOR_CD AND (GI.DEFAULT_IMG_YN = 'Y' OR GI.MOUSEOVER_IMG_YN = 'Y')
|
|
|
+ ) AS SYS_IMG_NM
|
|
|
+ , ( SELECT GROUP_CONCAT(DISTINCT CONCAT(C.COLOR_CD,':',CC.CD_DESC) ORDER BY CC.DISP_ORD SEPARATOR ',')
|
|
|
+ FROM TB_OPTION O
|
|
|
+ , TB_COLOR C
|
|
|
+ , TB_COMMON_CODE CC
|
|
|
+ WHERE BG.GOODS_CD = O.GOODS_CD
|
|
|
+ AND O.OPT_CD1 = C.COLOR_CD
|
|
|
+ AND C.COLOR_GRP_CD = CC.CD
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ AND C.USE_YN = 'Y'
|
|
|
+ AND CC.USE_YN = 'Y'
|
|
|
+ ) AS COLOR_CHIPS
|
|
|
+ , (
|
|
|
+ SELECT GROUP_CONCAT(CONCAT(BENEFIT_GB,':',BENEFIT_NM) ORDER BY NUMB SEPARATOR ',')
|
|
|
+ FROM (
|
|
|
+ SELECT BG.GOODS_CD
|
|
|
+ , GB.BENEFIT_GB
|
|
|
+ , CASE WHEN GB.BENEFIT_GB = '10' THEN '쿠폰할인'
|
|
|
+ WHEN GB.BENEFIT_GB = '20' THEN '무료배송'
|
|
|
+ WHEN GB.BENEFIT_GB = '30' THEN '사은품'
|
|
|
+ WHEN GB.BENEFIT_GB = '40' THEN '신상'
|
|
|
+ ELSE '총알배송'
|
|
|
+ END AS BENEFIT_NM
|
|
|
+ , RANK() OVER(PARTITION BY BG.GOODS_CD
|
|
|
+ ORDER BY GB.BENEFIT_GB
|
|
|
+ , GB.GOODS_CD) AS NUMB
|
|
|
+ FROM TB_GOODS_BENEFIT GB
|
|
|
+ WHERE BG.GOODS_CD = GB.GOODS_CD
|
|
|
+ ) Z
|
|
|
+ ) AS ICON /*혜택아이콘*/
|
|
|
<choose>
|
|
|
<when test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
|
|
|
, IF(W.GOODS_CD IS NULL,'','likeit') AS LIKE_IT /*위시리스트담긴상품*/
|
|
|
@@ -1941,9 +1924,6 @@
|
|
|
</otherwise>
|
|
|
</choose>
|
|
|
FROM TAB_BRAND_GOODS BG
|
|
|
- LEFT OUTER JOIN TAB_GOODS_IMG GI ON BG.GOODS_CD = GI.GOODS_CD
|
|
|
- LEFT OUTER JOIN TAB_COLORCHIP C ON BG.GOODS_CD = C.GOODS_CD
|
|
|
- LEFT OUTER JOIN TAB_GOODS_BENEFIT GB ON BG.GOODS_CD = GB.GOODS_CD
|
|
|
<if test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
|
|
|
LEFT OUTER JOIN TB_WISHLIST W ON BG.GOODS_CD = W.GOODS_CD
|
|
|
AND W.CUST_NO = #{custNo}
|