2016-10-19 5 views
0

이보기에서 제공하는 데이터를 검색해야합니다 : BLICK_1_DESCR_LIST.2 개의보기를 병합하려고합니다

직접 작성하는 방법을 찾지 못했습니다. 그래서 두 번째보기 BLICK_1_DESCR_LIST에 사용 된 BLICK_1_DESCR_NO_LIST 뷰를 생성했습니다.

나는 하나의보기에서 그것을하고 싶습니다.

CREATE VIEW BLICK_1_DESCR_NO_LIST 
AS SELECT ITEM_ID , MIN(ITEM_DESCR_NO) MIN_I_D_NO, 
COUNT(ITEM_DESCR_NO) COUNT_I_D_NO FROM BLICK_ITEM_DESCR 
GROUP BY ITEM_ID 
UNION 
SELECT ID , 0 ZERO, 0 ZERO2 FROM BLICK_ITEM 
LEFT JOIN BLICK_ITEM_DESCR ON BLICK_ITEM.ID = BLICK_ITEM_DESCR.ITEM_ID 
WHERE ITEM_DESCR_NO IS NULL; 


CREATE VIEW BLICK_1_DESCR_LIST 
AS SELECT V1.ITEM_ID, V1.MIN_I_D_NO, V1.COUNT_I_D_NO, T1.ITEM_DESCR 
FROM BLICK_1_DESCR_NO_LIST V1 
LEFT JOIN BLICK_ITEM_DESCR T1 ON V1.ITEM_ID = T1.ITEM_ID 
    AND V1.MIN_I_D_NO = T1.ITEM_DESCR_NO 
    ORDER BY ITEM_ID; 

답변

0

당신은 하위 쿼리로 첫 번째보기 통합 할 수 있습니다 :

CREATE VIEW BLICK_1_DESCR_LIST AS 
    SELECT V1.ITEM_ID, V1.MIN_I_D_NO, V1.COUNT_I_D_NO, T1.ITEM_DESCR 
    FROM ((SELECT ITEM_ID, MIN(ITEM_DESCR_NO) as MIN_I_D_NO, 
COUNT(ITEM_DESCR_NO) as COUNT_I_D_NO 
      FROM BLICK_ITEM_DESCR 
      GROUP BY ITEM_ID 
     ) UNION 
      (SELECT ID, 0, 0 
      FROM BLICK_ITEM LEFT JOIN 
       BLICK_ITEM_DESCR 
       ON BLICK_ITEM.ID = BLICK_ITEM_DESCR.ITEM_ID 
      WHERE ITEM_DESCR_NO IS NULL 
     )) V1 LEFT JOIN 
     BLICK_ITEM_DESCR T1 
     ON V1.ITEM_ID = T1.ITEM_ID AND 
      V1.MIN_I_D_NO = T1.ITEM_DESCR_NO 
    ORDER BY ITEM_ID; 
관련 문제