Не могу найти где указана ошибка в журнале sas - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть запрос, который связывает две таблицы с другой таблицей и удаляет дубликаты, но когда я запускаю этот запрос, в журнале появляется сообщение об ошибке, которое я не могу найти, в чем проблема. Я новичок в программировании на Sas и SQL, поэтому этот вопрос выглядит глупо.

Как я могу решить эту проблему?

Сообщение об ошибке журнала:

25         GOPTIONS ACCESSIBLE;
26         
27         proc sql ;
28         
29         create table Guik.tabela3 (compress=yes reuse=yes) as
30         
31         select  distinct
32                    coalesce(pa11.DHCT_NUM_CTC, pa12.DHCT_NUM_CTC)  DHCT_NUM_CTC,
                                                                ____________
                                                                22
33                       coalesce(pa11.DTON_COD_ATF, pa12.DTON_COD_ATF)  DTON_COD_ATF,
                                                   _
                                                   79
                                                   76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND, AS, 
              CONTAINS, EQ, EQT, FROM, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.  

ERROR 79-322: Expecting a ).

ERROR 76-322: Syntax error, statement will be ignored.

и полный код (второй запрос - это запрос, который отображает ошибку) :

%include "/sasusers/&sysuserid/gedspla.sas";
libname Guik "/lidata_br/atuaria/dmatuarial/vida/GKK";

proc sql ;
connect to oracle(user=&d_usuario pass=&pass_dtm path='@dtm' preserve_comments);
    create table Guik.DMD_HIS_CTC (compress=yes reuse=yes) as
    select * from connection to oracle                              
( select DHCT_TSPR_COD TSPR_COD, DHCT_TSPR_DES TSPR_DES

from DMD_HIS_CTC);

disconnect from oracle;
quit;



proc sql ;

create table Guik.tabela3 (compress=yes reuse=yes) as

select  distinct
              coalesce(pa11.DHCT_NUM_CTC, pa12.DHCT_NUM_CTC)  DHCT_NUM_CTC,
              coalesce(pa11.DTON_COD_ATF, pa12.DTON_COD_ATF)  DTON_COD_ATF,
              a121.DTON_DES  DTON_DES,
              coalesce(pa11.DDTC_COD_ATF, pa12.DDTC_COD_ATF)  DDTC_COD_ATF,
              a120.DDTC_DES  DDTC_DES, 
              coalesce(pa11.DDSC_COD_ATF, pa12.DDSC_COD_ATF)  DDSC_COD_ATF,
              a117.DDSC_DES  DDSC_DES,
              coalesce(pa11.DSDC_COD_ATF, pa12.DSDC_COD_ATF)  DSDC_COD_ATF,
              a118.DSDC_DES  DSDC_DES,
              coalesce(pa11.DHCT_NUM_PRA, pa12.DHCT_NUM_PRA)  DHCT_NUM_PRA,
              coalesce(pa11.DHCT_TSPR_COD, pa12.DHCT_TSPR_COD)DHCT_TSPR_COD,
              a119.TSPR_DES  DHCT_TSPR_DES,
              coalesce(pa11.DCSN_COD_ATF, pa12.DCSN_COD_ATF)  DCSN_COD_ATF,
              a115.DCSN_COD_SOG  DCSN_COD_SOG,
              coalesce(pa11.DHCT_IND_ROB, pa12.DHCT_IND_ROB)  DHCT_IND_ROB,
              coalesce(pa11.DHCT_IND_ULT_CTC, pa12.DHCT_IND_ULT_CTC)  DHCT_IND_ULT_CTC,
              coalesce(pa11.DMID_COD_ATF, pa12.DMID_COD_ATF)  DMID_COD_ATF,
              a114.DMID_DES  DMID_DES,
              coalesce(pa11.DSIT_COD_ATF, pa12.DSIT_COD_ATF)  DSIT_COD_ATF,
              a17.DSIT_DES  DSIT_DES,
              coalesce(pa11.DMBE_APO_NUM, pa12.DMBE_APO_NUM)  DMBE_APO_NUM,
              coalesce(pa11.DHCT_CTRS_COD, pa12.DHCT_CTRS_COD)  DHCT_CTRS_COD,
              coalesce(pa11.DCEP_COD_ATF, pa12.DCEP_COD_ATF)  DCEP_COD_ATF,
              a16.DCEP_COD_CEP_REZ  DCEP_COD_CEP_REZ,
              coalesce(pa11.DCLD_COD_ATF, pa12.DCLD_COD_ATF)  DCLD_COD_ATF,
              a113.DCLD_DAT  DCLD_DAT,
              coalesce(pa11.DCLD_COD_ATF0, pa12.DCLD_COD_ATF0)  DCLD_COD_ATF0,
              a112.DCLD_DAT  DCLD_DAT0,
              coalesce(pa11.DCLD_COD_ATF1, pa12.DCLD_COD_ATF1)  DCLD_COD_ATF1,
              a111.DCLD_DAT  DCLD_DAT1,
              coalesce(pa11.DCLD_COD_ATF2, pa12.DCLD_COD_ATF2)  DCLD_COD_ATF2,
              a110.DCLD_DAT  DCLD_DAT2,
              coalesce(pa11.DCLD_COD_ATF3, pa12.DCLD_COD_ATF3)  DCLD_COD_ATF3,
              a19.DCLD_DAT  DCLD_DAT3,
              coalesce(pa11.DHCT_DCLD_DAT_CTC, pa12.DHCT_DCLD_DAT_CTC)  DHCT_DCLD_DAT_CTC,
              a14.DCLD_DAT  DCLD_DAT4,
              coalesce(pa11.DCLD_COD_ATF4, pa12.DCLD_COD_ATF4)  DCLD_COD_ATF4,
              a18.DCLD_DAT  DCLD_DAT5,
              coalesce(pa11.DPRD_COD_PRD, pa12.DPRD_COD_PRD)  DPRD_COD_PRD,
              a116.DPRD_NOM  DPRD_NOM,
              a15.DFFL_DFRG_COD_ATF  DFRG_COD_ATF,
              a123.DFRG_DES  DFRG_DES,
              a14.DCLD_DMAN_COD_ATF  DMAN_COD_ATF,
              a122.DMAN_DES  DMAN_DES,
              coalesce(pa11.DFFL_COD_ATF, pa12.DFFL_COD_ATF)  DFFL_COD_ATF,
              a15.DFFL_DES  DFFL_DES,
              pa11.WJXBFS1  WJXBFS1,
              pa12.WJXBFS1  WJXBFS2,
              pa11.WJXBFS2  WJXBFS3
from     Guik.tabela1    pa11
              full outer join    Guik.tabela2  pa12 on (pa11.DCEP_COD_ATF = pa12.DCEP_COD_ATF and 
              pa11.DCLD_COD_ATF = pa12.DCLD_COD_ATF and 
              pa11.DCLD_COD_ATF0 = pa12.DCLD_COD_ATF0 and 
              pa11.DCLD_COD_ATF1 = pa12.DCLD_COD_ATF1 and 
              pa11.DCLD_COD_ATF2 = pa12.DCLD_COD_ATF2 and 
              pa11.DCLD_COD_ATF3 = pa12.DCLD_COD_ATF3 and 
              pa11.DCLD_COD_ATF4 = pa12.DCLD_COD_ATF4 and 
              pa11.DCSN_COD_ATF = pa12.DCSN_COD_ATF and 
              pa11.DDSC_COD_ATF = pa12.DDSC_COD_ATF and 
              pa11.DDTC_COD_ATF = pa12.DDTC_COD_ATF and 
              pa11.DFFL_COD_ATF = pa12.DFFL_COD_ATF and 
              pa11.DHCT_CTRS_COD = pa12.DHCT_CTRS_COD and 
              pa11.DHCT_DCLD_DAT_CTC = pa12.DHCT_DCLD_DAT_CTC and 
              pa11.DHCT_IND_ROB = pa12.DHCT_IND_ROB and 
              pa11.DHCT_IND_ULT_CTC = pa12.DHCT_IND_ULT_CTC and 
              pa11.DHCT_NUM_CTC = pa12.DHCT_NUM_CTC and 
              pa11.DHCT_NUM_PRA = pa12.DHCT_NUM_PRA and 
              pa11.DHCT_TSPR_COD = pa12.DHCT_TSPR_COD and 
              pa11.DMBE_APO_NUM = pa12.DMBE_APO_NUM and 
              pa11.DMID_COD_ATF = pa12.DMID_COD_ATF and 
              pa11.DPRD_COD_PRD = pa12.DPRD_COD_PRD and 
              pa11.DSDC_COD_ATF = pa12.DSDC_COD_ATF and 
              pa11.DSIT_COD_ATF = pa12.DSIT_COD_ATF and 
              pa11.DTON_COD_ATF = pa12.DTON_COD_ATF)
              join       DMC_CLD     a14  on        (coalesce(pa11.DHCT_DCLD_DAT_CTC, pa12.DHCT_DCLD_DAT_CTC) = a14.DCLD_COD_ATF)
              join       DMF_FIL     a15  on        (coalesce(pa11.DFFL_COD_ATF, pa12.DFFL_COD_ATF) = a15.DFFL_COD_ATF)
              join       DMM_CEP     a16  on        (coalesce(pa11.DCEP_COD_ATF, pa12.DCEP_COD_ATF) = a16.DCEP_COD_ATF)
              join       DMD_STM_ORI a17  on        (coalesce(pa11.DSIT_COD_ATF, pa12.DSIT_COD_ATF) = a17.DSIT_COD_ATF)
              join       DMC_CLD     a18  on        (coalesce(pa11.DCLD_COD_ATF4, pa12.DCLD_COD_ATF4) = a18.DCLD_COD_ATF)
              join       DMC_CLD     a19  on        (coalesce(pa11.DCLD_COD_ATF3, pa12.DCLD_COD_ATF3) = a19.DCLD_COD_ATF)
              join       DMC_CLD     a110 on        (coalesce(pa11.DCLD_COD_ATF2, pa12.DCLD_COD_ATF2) = a110.DCLD_COD_ATF)
              join       DMC_CLD     a111 on        (coalesce(pa11.DCLD_COD_ATF1, pa12.DCLD_COD_ATF1) = a111.DCLD_COD_ATF)
              join       DMC_CLD     a112 on        (coalesce(pa11.DCLD_COD_ATF0, pa12.DCLD_COD_ATF0) = a112.DCLD_COD_ATF)
              join       DMC_CLD     a113 on        (coalesce(pa11.DCLD_COD_ATF, pa12.DCLD_COD_ATF) = a113.DCLD_COD_ATF)
              join       DMM_IDD     a114 on        (coalesce(pa11.DMID_COD_ATF, pa12.DMID_COD_ATF) = a114.DMID_COD_ATF)
              join       DMC_SIM_NAO a115 on        (coalesce(pa11.DCSN_COD_ATF, pa12.DCSN_COD_ATF) = a115.DCSN_COD_ATF)
              join       DMC_PRD     a116 on        (coalesce(pa11.DPRD_COD_PRD, pa12.DPRD_COD_PRD) = a116.DPRD_COD_PRD)
              join       DMD_STS_CTC a117 on        (coalesce(pa11.DDSC_COD_ATF, pa12.DDSC_COD_ATF) = a117.DDSC_COD_ATF)
              join       DMD_STS_DTL_CTC a118 on   (coalesce(pa11.DSDC_COD_ATF, pa12.DSDC_COD_ATF) = a118.DSDC_COD_ATF)
              join       (SELECT distinct DHCT_TSPR_COD TSPR_COD,
                                DHCT_TSPR_DES TSPR_DES
FROM Guik.DMD_HIS_CTC)  a119 on        (coalesce(pa11.DHCT_TSPR_COD, pa12.DHCT_TSPR_COD) = a119.TSPR_COD)
              join       DMD_TIP_CTC  a120  on        (coalesce(pa11.DDTC_COD_ATF, pa12.DDTC_COD_ATF) = a120.DDTC_COD_ATF)
              join       DMC_TIP_ORI_NGC       a121 on        (coalesce(pa11.DTON_COD_ATF, pa12.DTON_COD_ATF) = a121.DTON_COD_ATF)
              join       DMC_MES_ANO             a122 on        (a14.DCLD_DMAN_COD_ATF = a122.DMAN_COD_ATF)
              join       DMF_RGI           a123 on        (a15.DFFL_DFRG_COD_ATF = a123.DFRG_COD_ATF)

;
quit

1 Ответ

0 голосов
/ 08 апреля 2020

Я полагаю, вы пытаетесь объединить два столбца из двух таблиц в новую таблицу с тем же именем столбца? Вы должны включить в код as, например:

coalesce(pa11.DHCT_NUM_CTC, pa12.DHCT_NUM_CTC) as DHCT_NUM_CTC,

Надеюсь, это поможет!

...