관련 조건이 SQL에 의해 다중 테이블을 선택 만들 다중 테이블 쿼리는 단일 테이블로 변환 [I]

 

 

테이블이 하나의 테이블에 다중 변환 관련 다중 테이블 쿼리의 조건에서 SQL을 생성

선택  횟수 ( 1 ) 로부터 REVENUE_STATISTICS_RES2 단계;
선택  횟수 ( 1 ) 로부터 REVENUE_STATISTICS_RES 단계; 


선택  *  에서 eda_cust_inc을; 

선택  *  로부터 브이 $ 세션 T1, V $ locked_object T2 여기서 t1.sid = t2.SESSION_ID; 



SELECT  / * + PARALLEL (12) * / 
         ( 1 )
          FROM EDA_CUST_INC 전자, CUST_CP_MERGE의 m 
         
         WHERE  1  =  1 
            e.CUST_ID =m.CUST_ID
            AND e.STD_LATN_CD = m.STD_LATN_CD
             m.PARTY_ID IS  NOT  NULL 
           AND  UPPER (m.PARTY_ID) ! =  ' NULL ' ; 
       
       
       
CREATE  TABLE을 revenue_cp AS  SELECT  / * + PARALLEL (12) * / 
       e.STD_PRVNCE_CD STD_PRVNCE_CD, 
       e.STD_LATN_CD STD_LATN_CD, 
       E. CUST_ID, e.PROD_TYPE, 
       m.party_id party_id, 
        e.TY_12 TY_12, 
        e.TY_11 TY_11, 
        e.TY_10 TY_10,  
        e.TY_9 TY_9,
        e.TY_8 TY_8, 
        e.TY_7 TY_7, 
        e.TY_6 TY_6, 
        e.TY_5 TY_5, 
        e.TY_4 TY_4, 
        e.TY_3 TY_3, 
        e.TY_2 TY_2, 
        e.TY_1 TY_1, 
        e.LY_12 LY_12, 
        e.LY_11 LY_11, 
        e.LY_10 LY_10, 
        e.LY_9 LY_9, 
        e.LY_8 LY_8, 
        e.LY_7 LY_7, 
        e.LY_6 LY_6, 
        e.LY_5 LY_5, 
        e.LY_4 LY_4, 
        e.LY_3 LY_3, 
        e.LY_2 LY_2, 
        e.LY_1 LY_1 
         FROM EDA_CUST_INC 전자, CUST_CP_MERGE의 m
          WHERE 1  =  1
            e.CUST_ID = m.CUST_ID
            AND e.STD_LATN_CD = m.STD_LATN_CD
             m.PARTY_ID IS  NOT  NULL 
           AND  UPPER (m.PARTY_ID) ! =  ' NULL ' ; 
       
       
선택  *  에서 revenue_cp을;
선택  횟수 ( 1 ) 로부터 revenue_cp; 


선택 R. * , p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
   에서 revenue_cp의 r은
   왼쪽  에 가입 파티 페이지  r.party_id을 = p.party_id
   왼쪽  가입 O를 party_org을  r.party_id = o.party_id; 
  
선택  횟수 ( 1 )
   로부터 revenue_cp 연구 단계; 
  
  
선택  횟수 ( 1 )
   로부터 revenue_cp R을
   왼쪽  가입 자 쪽  r.party_id = p.party_id
   왼쪽  가입 O를 party_org  r.party_id = o.party_id;  
  

CREATE  TABLE의 revenue_all  선택 R을. *, p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
   에서 revenue_cp R을
   왼쪽  가입 자 쪽  r.party_id = p.party_id
   왼쪽  가입 O를 party_org  r.party_id = o.party_id; 
  
  
선택  *  에서 revenue_all을; 


SELECT  / * + PARALLEL (12) * / 
 COUNT (CUST_ID) CUSTNUM,
  COUNT ( DISTINCT (PARTY_ID)) PARTYNUM,
  SUM (TY_1) TY1,
  SUM (TY_2) TY2,
  SUM (TY_3) TY3,
  SUM (TY_4) TY4,
  SUM(TY_5) TY5,
  SUM (TY_6) TY6,
  SUM (TY_7) TY7,
  SUM (TY_8) TY8,
  SUM (TY_9) TY9,
  SUM (TY_10) TY10,
  SUM (TY_11) TY11,
  SUM (TY_12) TY12,
  SUM (LY_1 ) LY1,
  SUM (LY_2) LY2,
  SUM (LY_3) LY3,
  SUM (LY_4) LY4,
  SUM (LY_5) LY5,
  SUM (LY_6) LY6,
  SUM (LY_7) LY7,
  SUM (LY_8) LY8,
  SUM (LY_9) LY9 ,
  SUM (LY_10) LY10,
  SUM (LY_11) LY11,
  SUM (LY_12) LY12
   revenue_all
  여기서 std_prvnce_cd =  8,350,000 
    std_latn_cd =  8,350,102 
    prod_type =  10 
    identity_type =  1 
    INDUSTRY_TYPE_ID =  207 ; 
   

SELECT  / * + PARALLEL (12) * / 
 COUNT (CUST_ID) CUSTNUM,
  COUNT ( DISTINCT (PARTY_ID)) PARTYNUM,
  SUM (TY_1) TY1,
  SUM (TY_2) TY2,
  SUM (TY_3) TY3,
  SUM (TY_4) TY4,
  SUM (TY_5) TY5,
  SUM(TY_6) TY6,
  SUM (TY_7) TY7,
  SUM (TY_8) TY8,
  SUM (TY_9) TY9,
  SUM (TY_10) TY10,
  SUM (TY_11) TY11,
  SUM (TY_12) TY12,
  SUM (LY_1) LY1,
  SUM (LY_2 ) LY2,
  SUM (LY_3) LY3,
  SUM (LY_4) LY4,
  SUM (LY_5) LY5,
  SUM (LY_6) LY6,
  SUM (LY_7) LY7,
  SUM (LY_8) LY8,
  SUM (LY_9) LY9,
  SUM (LY_10) LY10 ,
  SUM (LY_11) LY11,
  SUM (LY_12) LY12
   에서 revenue_all
  std_prvnce_cd =  8,350,000 
    std_latn_cd =  8,350,102 
    prod_type는  
    identity_type는  
    INDUSTRY_TYPE_ID가  널 (null) ;
  
  

 

추천

출처www.cnblogs.com/libin6505/p/11805283.html