gagamel 5 лет назад
Родитель
Сommit
05bf73d467
1 измененных файлов с 107 добавлено и 0 удалено
  1. 107 0
      산출물/3.설계/05.DB-Object/01.db_view/VW_CATE_4SRCH.sql

+ 107 - 0
산출물/3.설계/05.DB-Object/01.db_view/VW_CATE_4SRCH.sql

@@ -0,0 +1,107 @@
+CREATE VIEW VW_CATE_4SRCH AS
+SELECT A.SITE_CD                                                                                           /*사이트코드*/
+     , A.CATE_GB                                                                                           /*카테고리구분*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CATE1_NO
+                                       ELSE
+                                           B.CATE2_NO
+                                  END
+                              ELSE C.CATE3_NO
+                         END
+                     ELSE
+                         D.CATE4_NO
+                END
+            ELSE
+                E.CATE5_NO
+       END                                                                                  AS LEAF_CATE_NO /*단말카테고리번호*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CATE_TYPE
+                                       ELSE
+                                           B.CATE_TYPE
+                                  END
+                              ELSE
+                                  C.CATE_TYPE
+                         END
+                     ELSE
+                         D.CATE_TYPE
+                END
+            ELSE
+                E.CATE_TYPE
+       END                                                                                  AS CATE_TYPE   /*카테고리유형*/
+     , A.CATE1_NO                                                                                          /*카테고리1번호*/
+     , A.CATE1_NM                                                                                          /*카테고리1명*/
+     , B.CATE2_NO                                                                                          /*카테고리2번호*/
+     , B.CATE2_NM                                                                                          /*카테고리2명*/
+     , C.CATE3_NO                                                                                          /*카테고리3번호*/
+     , C.CATE3_NM                                                                                          /*카테고리3명*/
+     , D.CATE4_NO                                                                                          /*카테고리4번호*/
+     , D.CATE4_NM                                                                                          /*카테고리4명*/
+     , E.CATE5_NO                                                                                          /*카테고리5번호*/
+     , E.CATE5_NM                                                                                          /*카테고리5명*/
+     , CONCAT(A.CATE1_NO
+             ,CASE WHEN B.CATE2_NO IS NULL THEN '' ELSE CONCAT(' > ',B.CATE2_NO) END
+             ,CASE WHEN C.CATE3_NO IS NULL THEN '' ELSE CONCAT(' > ',C.CATE3_NO) END
+             ,CASE WHEN D.CATE4_NO IS NULL THEN '' ELSE CONCAT(' > ',D.CATE4_NO) END
+             ,CASE WHEN E.CATE5_NO IS NULL THEN '' ELSE CONCAT(' > ',E.CATE5_NO) END)       AS FULL_CATE_NO /*FULL카테고리번호*/
+     , CONCAT(A.CATE1_NM
+             ,CASE WHEN B.CATE2_NM IS NULL THEN '' ELSE CONCAT(' > ',B.CATE2_NM) END
+             ,CASE WHEN C.CATE3_NM IS NULL THEN '' ELSE CONCAT(' > ',C.CATE3_NM) END
+             ,CASE WHEN D.CATE4_NM IS NULL THEN '' ELSE CONCAT(' > ',D.CATE4_NM) END
+             ,CASE WHEN E.CATE5_NM IS NULL THEN '' ELSE CONCAT(' > ',E.CATE5_NM) END)       AS FULL_CATE_NM /*FULL카테고리명*/
+     , RANK() OVER(PARTITION BY A.SITE_CD, A.CATE_GB
+                   ORDER BY A.DISP_ORD, B.DISP_ORD, C.DISP_ORD, D.DISP_ORD, E.DISP_ORD)     AS DISP_ORD    /*노출순서*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.FORMAL_GB
+                                       ELSE
+                                           B.FORMAL_GB
+                                  END
+                              ELSE
+                                  C.FORMAL_GB
+                         END
+                     ELSE
+                         D.FORMAL_GB
+                END
+            ELSE
+                E.FORMAL_GB
+       END                                                                                  AS FORMAL_GB   /*정상이월구분*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CONTENTS_LOC
+                                       ELSE
+                                           B.CONTENTS_LOC
+                                  END
+                              ELSE
+                                  C.CONTENTS_LOC
+                         END
+                     ELSE
+                         D.CONTENTS_LOC
+                END
+            ELSE
+                E.CONTENTS_LOC
+       END                                                                                  AS CONTENTS_LOC /*컨텐츠위치*/
+FROM   TB_CATE1 A
+LEFT OUTER JOIN TB_CATE2 B ON A.CATE1_NO = B.CATE1_NO
+                          AND B.USE_YN = 'Y'
+                          AND B.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE3 C ON B.CATE2_NO = C.CATE2_NO
+                          AND C.USE_YN = 'Y'
+                          AND C.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE4 D ON C.CATE3_NO = D.CATE3_NO
+                          AND D.USE_YN = 'Y'
+                          AND D.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE5 E ON D.CATE4_NO = E.CATE4_NO
+                          AND E.USE_YN = 'Y'
+                          AND E.DISP_YN = 'Y'
+WHERE  A.USE_YN = 'Y'
+AND    A.DISP_YN = 'Y'