|
@@ -0,0 +1,489 @@
|
|
|
|
|
+-- 브랜드 *
|
|
|
|
|
+-- 사이즈 *
|
|
|
|
|
+-- 가격 *
|
|
|
|
|
+-- 할인율 *
|
|
|
|
|
+-- 연령 *
|
|
|
|
|
+-- 시즌 *
|
|
|
|
|
+-- 컬러 *
|
|
|
|
|
+-- 혜택
|
|
|
|
|
+
|
|
|
|
|
+-- 필터-브랜드 (getFilterBrandList)
|
|
|
|
|
+SELECT BG.BRAND_GROUP_NO /*브랜드그룹번호*/
|
|
|
|
|
+ , CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
|
|
|
|
|
+ BG.BRAND_GROUP_ENM
|
|
|
|
|
+ ELSE
|
|
|
|
|
+ BG.BRAND_GROUP_KNM
|
|
|
|
|
+ END AS BRAND_GROUP_NM /*브랜드그룹명*/
|
|
|
|
|
+FROM TB_BRAND_GROUP BG
|
|
|
|
|
+WHERE BRAND_GROUP_NO IN (SELECT B.BRAND_GROUP_NO
|
|
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_GOODS_STOCK GS
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+ AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND G.GOODS_CD = GS.GOODS_CD
|
|
|
|
|
+ AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+ AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+ <if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+ AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+ AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+ AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+ AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+ AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ )
|
|
|
|
|
+WHERE BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
|
|
|
|
|
+ORDER BY 2
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 필터 - 사이즈 (getFilterSizeList)
|
|
|
|
|
+SELECT DISTINCT
|
|
|
|
|
+ I.SIZE_GB /*사이즈구분(T:상의, B:하의, S:신발)*/
|
|
|
|
|
+ , S.OPT_CD2 /*옵션코드2*/
|
|
|
|
|
+FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_ITEMKIND I
|
|
|
|
|
+ , VW_STOCK S
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+AND G.ITEMKIND_CD = I.ITEMKIND_CD
|
|
|
|
|
+AND G.GOODS_CD = S.GOODS_CD
|
|
|
|
|
+AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+<if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+</if>
|
|
|
|
|
+<if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+</if>
|
|
|
|
|
+<if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+</if>
|
|
|
|
|
+<if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+</if>
|
|
|
|
|
+AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+AND I.SIZE_GB IS NOT NULL
|
|
|
|
|
+AND S.CURR_STOCK_QTY - S.BASE_STOCK_QTY <![CDATA[>]]> 0 /*재고있는옵션*/
|
|
|
|
|
+AND S.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
|
|
|
|
|
+AND S.DISP_YN = 'Y' /*노출하는 옵션*/
|
|
|
|
|
+AND LENGTH(S.OPT_CD2) > 0
|
|
|
|
|
+AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ORDER BY CASE WHEN I.SIZE_GB = 'T' THEN 1
|
|
|
|
|
+ WHEN I.SIZE_GB = 'B' THEN 2
|
|
|
|
|
+ WHEN I.SIZE_GB = 'S' THEN 3
|
|
|
|
|
+ ELSE 4
|
|
|
|
|
+ END, S.OPT_CD2
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 필터-가격 (getFilterPriceList)
|
|
|
|
|
+SELECT FLOOR(MIN_CURR_PRICE / 1000) * 1000 AS PRICE1
|
|
|
|
|
+ , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 1) / 1000) * 1000 AS PRICE2
|
|
|
|
|
+ , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 2) / 1000) * 1000 AS PRICE3
|
|
|
|
|
+ , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 3) / 1000) * 1000 AS PRICE4
|
|
|
|
|
+ , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 4) / 1000) * 1000 AS PRICE5
|
|
|
|
|
+ , FLOOR(MAX_CURR_PRICE / 1000) * 1000 AS PRICE6
|
|
|
|
|
+FROM (
|
|
|
|
|
+ SELECT MIN(CURR_PRICE) AS MIN_CURR_PRICE /*최소현재판매가*/
|
|
|
|
|
+ , MAX(CURR_PRICE) AS MAX_CURR_PRICE /*최대현재판매가*/
|
|
|
|
|
+ , (MAX(CURR_PRICE) - MIN(CURR_PRICE)) / 5 AS SLICE_VAL /*분할값*/
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD,G.CURR_PRICE,#{custGb}) AS CURR_PRICE /*현재판매가*/
|
|
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_GOODS_STOCK GS
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+ AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
|
|
+ AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+ AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+ <if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+ AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+ AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+ AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+ AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+ AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ ) Z
|
|
|
|
|
+ ) Z
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 필터-연령대 (getFilterAgesList)
|
|
|
|
|
+SELECT CD AS AGES_CD /*연령대코드*/
|
|
|
|
|
+ , CD_NM AS AGES_NM /*연령대명*/
|
|
|
|
|
+FROM TB_COMMON_CODE
|
|
|
|
|
+WHERE CD_GB = 'G023'
|
|
|
|
|
+AND CD IN (SELECT G.AGE_GRP_CD
|
|
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_GOODS_STOCK GS
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+ AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
|
|
+ AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+ AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+ <if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+ AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+ AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+ AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+ AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+ AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ )
|
|
|
|
|
+AND USE_YN = 'Y'
|
|
|
|
|
+ORDER BY DISP_ORD
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 필터-시즌 (getFilterSeasonList)
|
|
|
|
|
+SELECT CD AS SEASON_CD /*시즌코드*/
|
|
|
|
|
+ , CD_NM AS SEASON_NM /*시즌명*/
|
|
|
|
|
+FROM TB_COMMON_CODE
|
|
|
|
|
+WHERE CD_GB = 'G006'
|
|
|
|
|
+AND CD IN (SELECT G.SEASON_CD
|
|
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_GOODS_STOCK GS
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+ AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
|
|
+ AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+ AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+ <if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+ AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+ AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+ AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+ AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+ AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ )
|
|
|
|
|
+AND USE_YN = 'Y'
|
|
|
|
|
+ORDER BY DISP_ORD
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+-- 필터-컬러 (getFilterColorList)
|
|
|
|
|
+SELECT C.COLOR_GRP_CD AS AGES_CD /*연령대코드*/
|
|
|
|
|
+ , CC.CD_DESC AS COLOR_CHIP /*컬러칩*/
|
|
|
|
|
+FROM TB_COLOR C
|
|
|
|
|
+ , TB_COMMON_CODE CC
|
|
|
|
|
+WHERE C.COLOR_GRP_CD = CC.CD
|
|
|
|
|
+AND CC.CD_GB = 'G072'
|
|
|
|
|
+AND C.COLOR_CD IN (SELECT G.SEASON_CD
|
|
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
|
|
+ , TB_CATE_GOODS CG
|
|
|
|
|
+ , TB_GOODS G
|
|
|
|
|
+ , TB_GOODS_STOCK GS
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ , TB_OPTION O
|
|
|
|
|
+ WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
|
|
+ AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
|
|
+ AND CG.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
|
|
+ AND G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND G.GOODS_CD = O.GOODS_CD
|
|
|
|
|
+ AND C4.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND C4.CATE_GB = #{cateGb}
|
|
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
|
|
+ AND C4.CATE1_NO = #{cate1No}
|
|
|
|
|
+ <if test="cate2No != null and cate2No != ''">
|
|
|
|
|
+ AND C4.CATE2_NO = #{cate2No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate3No != null and cate3No != ''">
|
|
|
|
|
+ AND C4.CATE3_NO = #{cate3No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate4No != null and cate4No != ''">
|
|
|
|
|
+ AND C4.CATE4_NO = #{cate4No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="cate5No != null and cate5No != ''">
|
|
|
|
|
+ AND C4.CATE5_NO = #{cate5No}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
|
|
+ AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
|
|
+ AND O.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
|
|
|
|
|
+ AND O.DISP_YN = 'Y' /*노출하는 옵션*/
|
|
|
|
|
+ )
|
|
|
|
|
+AND CC.USE_YN = 'Y'
|
|
|
|
|
+ORDER BY CC.DISP_ORD
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+/* 혜택 중 할인쿠폰 */
|
|
|
|
|
+WITH ALL_GOODS AS ( SELECT A.GOODS_CD
|
|
|
|
|
+ FROM TB_GOODS A
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_CATE_GOODS C
|
|
|
|
|
+ , TB_GOODS_STOCK S
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ , TB_BRAND_GROUP BG
|
|
|
|
|
+ WHERE A.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND A.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
|
|
+ AND A.GOODS_CD = S.GOODS_CD
|
|
|
|
|
+ AND NOW() BETWEEN A.SELL_STDT AND A.SELL_EDDT
|
|
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
|
|
+ AND A.SELF_MALL_YN = 'Y'
|
|
|
|
|
+ AND S.STOCK_QTY > 0
|
|
|
|
|
+ AND A.GOODS_STAT = 'G008_90'
|
|
|
|
|
+ AND C.CATE_NO IN (
|
|
|
|
|
+ SELECT LEAF_CATE_NO
|
|
|
|
|
+ FROM TB_CATE_4SRCH
|
|
|
|
|
+ WHERE CATE_TYPE = 'G031_10'
|
|
|
|
|
+ )
|
|
|
|
|
+)
|
|
|
|
|
+SELECT CASE WHEN COUNT(1) > 0 THEN 'Y' ELSE 'N' END AS DISCOUNT_CPN_YN
|
|
|
|
|
+FROM ALL_GOODS AG
|
|
|
|
|
+WHERE 1=1
|
|
|
|
|
+AND EXISTS (
|
|
|
|
|
+ SELECT 1 -- B.REF_VAL AS GOODS_CD
|
|
|
|
|
+ FROM TB_COUPON A
|
|
|
|
|
+ JOIN TB_COUPON_REFVAL B
|
|
|
|
|
+ ON A.CPN_ID = B.CPN_ID
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ -- AND NOW() BETWEEN A.AVAIL_STDT AND A.AVAIL_EDDT
|
|
|
|
|
+ AND NOW() BETWEEN A.DOWN_STDT AND A.DOWN_EDDT
|
|
|
|
|
+ AND A.CPN_STAT = 'G232_11'
|
|
|
|
|
+ AND B.CPN_TARGET = 'G260_10'
|
|
|
|
|
+ AND B.REF_VAL = AG.GOODS_CD
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+/* 혜택중 사은품 */
|
|
|
|
|
+
|
|
|
|
|
+/* 혜택중 무료배송 */
|
|
|
|
|
+WITH ALL_GOODS AS ( SELECT A.GOODS_CD, A.SUPPLY_COMP_CD, A. DELV_FEE_CD
|
|
|
|
|
+ FROM TB_GOODS A
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_CATE_GOODS C
|
|
|
|
|
+ , TB_GOODS_STOCK S
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ , TB_BRAND_GROUP BG
|
|
|
|
|
+ WHERE A.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND A.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
|
|
+ AND A.GOODS_CD = S.GOODS_CD
|
|
|
|
|
+ AND NOW() BETWEEN A.SELL_STDT AND A.SELL_EDDT
|
|
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
|
|
+ AND A.SELF_MALL_YN = 'Y'
|
|
|
|
|
+ AND S.STOCK_QTY > 0
|
|
|
|
|
+ AND A.GOODS_STAT = 'G008_90'
|
|
|
|
|
+ AND C.CATE_NO IN (
|
|
|
|
|
+ SELECT LEAF_CATE_NO
|
|
|
|
|
+ FROM TB_CATE_4SRCH
|
|
|
|
|
+ WHERE CATE_TYPE = 'G031_10'
|
|
|
|
|
+ )
|
|
|
|
|
+)
|
|
|
|
|
+SELECT CASE WHEN COUNT(1) > 0 THEN 'Y' ELSE 'N' END AS FREE_DELV_YN
|
|
|
|
|
+FROM ALL_GOODS AG
|
|
|
|
|
+WHERE 1=1
|
|
|
|
|
+AND EXISTS (
|
|
|
|
|
+ SELECT 1 -- B.REF_VAL AS GOODS_CD
|
|
|
|
|
+ FROM TB_DELV_FEE_POLICY DF
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND DF.SUPPLY_COMP_CD = AG.SUPPLY_COMP_CD
|
|
|
|
|
+ AND DF.DELV_FEE_CD = AG.DELV_FEE_CD
|
|
|
|
|
+ )
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+/* 혜택중 총알배송 */
|
|
|
|
|
+WITH ALL_GOODS AS ( SELECT A.GOODS_CD
|
|
|
|
|
+ FROM TB_GOODS A
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_CATE_GOODS C
|
|
|
|
|
+ , TB_GOODS_STOCK S
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ , TB_BRAND_GROUP BG
|
|
|
|
|
+ WHERE A.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND A.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
|
|
+ AND A.GOODS_CD = S.GOODS_CD
|
|
|
|
|
+ AND NOW() BETWEEN A.SELL_STDT AND A.SELL_EDDT
|
|
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
|
|
+ AND A.SELF_MALL_YN = 'Y'
|
|
|
|
|
+ AND S.STOCK_QTY > 0
|
|
|
|
|
+ AND A.GOODS_STAT = 'G008_90'
|
|
|
|
|
+ AND C.CATE_NO IN (
|
|
|
|
|
+ SELECT LEAF_CATE_NO
|
|
|
|
|
+ FROM TB_CATE_4SRCH
|
|
|
|
|
+ WHERE CATE_TYPE = 'G031_10'
|
|
|
|
|
+ )
|
|
|
|
|
+)
|
|
|
|
|
+SELECT CASE WHEN COUNT(1) > 0 THEN 'Y' ELSE 'N' END AS QUICK_DELV_YN
|
|
|
|
|
+FROM ALL_GOODS AG
|
|
|
|
|
+WHERE 1=1
|
|
|
|
|
+AND EXISTS (
|
|
|
|
|
+ SELECT 1 -- B.REF_VAL AS GOODS_CD
|
|
|
|
|
+ FROM TB_GOODS_QUICK_DELEVERY_SKIP DS
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND DS.GOODS_CD = AG.GOODS_CD
|
|
|
|
|
+ )
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/* 전체상품 중에서 할인쿠폰 여부 확인 */
|
|
|
|
|
+SELECT (
|
|
|
|
|
+ SELECT CASE WHEN COUNT(1) > 0 THEN 'Y' ELSE 'N' END AS DISCOUNT_CPN_YN
|
|
|
|
|
+ FROM TB_COUPON A
|
|
|
|
|
+ JOIN TB_COUPON_REFVAL B
|
|
|
|
|
+ ON A.CPN_ID = B.CPN_ID
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND NOW() BETWEEN A.DOWN_STDT AND A.DOWN_EDDT
|
|
|
|
|
+ AND A.CPN_STAT = 'G232_11'
|
|
|
|
|
+ AND B.CPN_TARGET = 'G260_10'
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND B.REF_VAL = S.GOODS_CD
|
|
|
|
|
+ ) AS DISCOUNT_CPN_YN
|
|
|
|
|
+FROM (
|
|
|
|
|
+ SELECT A.GOODS_CD
|
|
|
|
|
+ FROM TB_GOODS A
|
|
|
|
|
+ , TB_BRAND B
|
|
|
|
|
+ , TB_CATE_GOODS C
|
|
|
|
|
+ , TB_GOODS_STOCK S
|
|
|
|
|
+ , TB_SITE_BRAND SB
|
|
|
|
|
+ , TB_BRAND_GROUP BG
|
|
|
|
|
+ WHERE A.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ AND A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND A.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
|
|
+ AND A.GOODS_CD = S.GOODS_CD
|
|
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
|
|
+ AND A.SELF_MALL_YN = 'Y'
|
|
|
|
|
+ AND S.STOCK_QTY > 0
|
|
|
|
|
+ AND A.GOODS_STAT = 'G008_90'
|
|
|
|
|
+ AND C.CATE_NO IN (
|
|
|
|
|
+ SELECT LEAF_CATE_NO
|
|
|
|
|
+ FROM TB_CATE_4SRCH
|
|
|
|
|
+ WHERE CATE_TYPE = 'G031_10'
|
|
|
|
|
+ )
|
|
|
|
|
+ GROUP BY A.GOODS_CD
|
|
|
|
|
+) S
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/*생성해야함*/
|
|
|
|
|
+[FN_GET_AVAILABLE_COUPON_YN]
|
|
|
|
|
+ SELECT CASE WHEN IFNULL(SUM(S.TT),0) > 0 THEN 'Y' ELSE 'N' END AS COUPON_YN
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT CASE WHEN COUNT(1) > 0 THEN '1' ELSE '0' END AS TT
|
|
|
|
|
+ FROM TB_COUPON A
|
|
|
|
|
+ LEFT OUTER JOIN TB_COUPON_REFVAL B
|
|
|
|
|
+ ON A.CPN_ID = B.CPN_ID
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND NOW() BETWEEN A.DOWN_STDT AND A.DOWN_EDDT
|
|
|
|
|
+ AND A.CPN_STAT = 'G232_11'
|
|
|
|
|
+ AND B.CPN_TARGET = 'G260_10'
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND B.REF_VAL = '10823306'
|
|
|
|
|
+ AND NOT EXISTS (
|
|
|
|
|
+ SELECT 1
|
|
|
|
|
+ FROM TB_COUPON_BAN_GOODS BG
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND B.REF_VAL = BG.GOODS_CD
|
|
|
|
|
+ )
|
|
|
|
|
+ GROUP BY B.REF_VAL
|
|
|
|
|
+ ) S
|
|
|
|
|
+;
|
|
|
|
|
+
|
|
|
|
|
+
|