2017-08-17 2 views
0

J'ai trois requêtes. 1) compte * enregistrements dans une table 2) compte les enregistrements qui sont appariés ou tout simplement pas utilisé pour la raison 1 3) compte les enregistrements qui sont appariés et non utilisés pour la raison 2PROC SQL: Comment mettre plusieurs requêtes en une pour que les solutions soient côte à côte?

Comment puis-je mettre les 3 requêtes en un et ajouter la requête 2 et 3 ensemble à la fois, donc je ne dois pas avoir deux ou trois colonnes. Ainsi, dans Excel ressemble à: [1]: http://imgur.com/IQp82sx

/* 1 */ /* This finds amount of records */ 
    proc sql; 
    create table 
     work.Original_count 
    as 
    select 
     count(*) as occurences 
    from 
     WORK.query_for_reports1 as t1; 
    quit; 

    /* 2 *//* counts how many records are already matched in technique ED*/ /* 10 */ 
    proc sql; 
    create table 
     work.occ_matched_T1 
    as 
    select 
     count(*) as occurences 
    from 
     work.QUERY_FOR_REPORTS1 as t1 
    where t1.EdSYS is not null; 
    quit; 

    /*3 */ /* Counts how many records are already matched with IP */ /* 9 */ 
    proc sql; 
    create table 
     work.occ_matched_t1_1 
    as 
    select 
      count(*) as occurences 
    from 
     work.E_DATA_UNMATCHED as t1 
    where t1.Ip is not null; 

quit; 
+0

« donc je ne dois pas avoir deux-trois colonnes » mais l'exemple montre des colonnes. Voulez-vous dire que vous n'avez pas 2 ou 3 lignes et les montre en colonnes? Les lignes descendent les colonnes traversent. – xQbert

Répondre

1
proc sql; 
create table wanted as 
select t1.occurences as original_count 
     ,t2.occurences as matched_by_T1 
     ,t3.occurences as matched_by_T2 
     ,t2.occurences+t3.occurences as B2_C2 
from (select count(*) as occurences from query_for_reports1) t1 
    ,(select count(*) as occurences from query_for_reports1 where edsys is not null) t2 
    ,(select count(*) as occurences from e_data_unmatched where ip is not null) t3 
; 
quit;