|
|
@@ -374,6 +374,151 @@ FROM (
|
|
|
) Z
|
|
|
;
|
|
|
|
|
|
+-- 가격 필터 생성(브랜드별 전체)
|
|
|
+INSERT INTO TB_CATE_FILTER_TMP (
|
|
|
+ SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , FILTER_GB
|
|
|
+ , FILTER_CD
|
|
|
+ , FILTER_NM
|
|
|
+ , DISP_ORD
|
|
|
+)
|
|
|
+WITH TAB_FILTER AS (
|
|
|
+ SELECT C4.SITE_CD
|
|
|
+ , C4.CATE_GB
|
|
|
+ , G.FORMAL_GB
|
|
|
+ , B.BRAND_GROUP_NO
|
|
|
+ , C4.CATE1_NO
|
|
|
+ , C4.CATE2_NO
|
|
|
+ , C4.CATE3_NO
|
|
|
+ , C4.CATE4_NO
|
|
|
+ , C4.CATE5_NO
|
|
|
+ , FN_GET_BENEFIT_PRICE('P',G.GOODS_CD,G.CURR_PRICE,'G100_10') 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 b.brand_group_no = 19706
|
|
|
+ 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 = 'G000_10'
|
|
|
+ AND C4.CATE_GB = 'G032_101'
|
|
|
+ AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
+ 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 > 0 /*재고있는옵션*/
|
|
|
+ AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
+ AND SB.SITE_CD = 'G000_10'
|
|
|
+ AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
+)
|
|
|
+, TAB_PRICE AS (
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , 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 SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , 0 AS CATE_NO
|
|
|
+ , 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 TAB_FILTER
|
|
|
+ GROUP BY SITE_CD, CATE_GB, FORMAL_GB, BRAND_GROUP_NO, CATE1_NO
|
|
|
+ ) Z
|
|
|
+)
|
|
|
+SELECT DISTINCT
|
|
|
+ SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , 'PRICE' AS FILTER_GB
|
|
|
+ , FILTER_CD
|
|
|
+ , FILTER_NM
|
|
|
+ , RANK() OVER(PARTITION BY SITE_CD, CATE_GB, FORMAL_GB, BRAND_GROUP_NO, CATE_NO
|
|
|
+ ORDER BY FILTER_CD
|
|
|
+ ) AS DISP_ORD
|
|
|
+FROM (
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE1 AS FILTER_CD
|
|
|
+ , PRICE1 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE1 > 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE2 AS FILTER_CD
|
|
|
+ , PRICE2 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE2 > 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE3 AS FILTER_CD
|
|
|
+ , PRICE3 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE3 > 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE4 AS FILTER_CD
|
|
|
+ , PRICE4 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE4 > 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE5 AS FILTER_CD
|
|
|
+ , PRICE5 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE5 > 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT SITE_CD
|
|
|
+ , CATE_GB
|
|
|
+ , FORMAL_GB
|
|
|
+ , BRAND_GROUP_NO
|
|
|
+ , CATE_NO
|
|
|
+ , PRICE6 AS FILTER_CD
|
|
|
+ , PRICE6 AS FILTER_NM
|
|
|
+ FROM TAB_PRICE
|
|
|
+ WHERE PRICE6 > 0
|
|
|
+ ) Z
|
|
|
+;
|
|
|
|
|
|
-- 연령대 필터 생성
|
|
|
INSERT INTO TB_CATE_FILTER_TMP (
|