A multi-table query associated conditions create select multi-table by sql converted into a single-table [I]

 

 

The conditions for a multi-table queries associated multi converted into a single table by table create select sql

select count(1) from REVENUE_STATISTICS_RES2;
select count(1) from REVENUE_STATISTICS_RES;


select * from eda_cust_inc;

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 



SELECT /*+PARALLEL(12)*/
        count(1)
         FROM EDA_CUST_INC e, CUST_CP_MERGE m
         
         WHERE 1 = 1
           and e.CUST_ID = m.CUST_ID
           AND e.STD_LATN_CD = m.STD_LATN_CD
           and 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 e, CUST_CP_MERGE m
         WHERE 1 = 1
           and e.CUST_ID = m.CUST_ID
           AND e.STD_LATN_CD = m.STD_LATN_CD
           and m.PARTY_ID IS NOT NULL
           AND UPPER(m.PARTY_ID) != 'NULL';
       
       
select * from revenue_cp;
select count(1) from revenue_cp;


select r.*, p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
  from revenue_cp r
  left join party p on r.party_id=p.party_id
  left join party_org o on r.party_id = o.party_id;
  
select count(1)
  from revenue_cp r;
  
  
select count(1)
  from revenue_cp r
  left join party p on r.party_id=p.party_id
  left join party_org o on r.party_id = o.party_id;  
  

CREATE TABLE revenue_all as select r.*, p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
  from revenue_cp r
  left join party p on r.party_id=p.party_id
  left join party_org o on r.party_id = o.party_id;
  
  
select * from 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
  from revenue_all
 where std_prvnce_cd = 8350000
   and std_latn_cd = 8350102
   and prod_type = 10
   and identity_type = 1
   and 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
  from revenue_all
 where std_prvnce_cd = 8350000
   and std_latn_cd = 8350102
   and prod_type is null
   and identity_type is null
   and INDUSTRY_TYPE_ID is null;
  
  

 

Guess you like

Origin www.cnblogs.com/libin6505/p/11805283.html