hello, i am beginner in macros. I would like to left join multiple tables to another table using a macro. My macro is overwriting instead and I do not know how to prevent that. so i would like to create a macro which will do this: proc sql; create table result2 as select t1.*, t_sa_00.code as code_sa_00, t_sa_01.code as code_sa_01, ... from work.result1 as t1 left join work.t_sa_00 on t1.id=t_sa_00.id left join work.t_sa_01 on t1.id=t_sa_01.id ... ;quit; and my actual macro looks like this: proc sql; select distinct (memname), count(distinct memname) into :tbl separated by ' ' , :ntbl from dictionary.tables where libname='WORK' and memname like 'T_SA_%' order by memname; quit; %macro result2; proc sql; %DO i=1 %TO &ntbl.; %LET item = %scan(&tbl., &i.); CREATE TABLE RESULT2 AS ( SELECT t1.*, t2.code_sa from work.RESULT1 as t1 LEFT JOIN &item. as t2 on t1.id=t2.id ); %END; quit; %mend; %result2
... View more