BookmarkSubscribeRSS Feed
omega1983
Calcite | Level 5


data trial;

merge trial1

         trial2;

by  ???

run;

trial1 has the field gen_id

trial2 has the field sys_id

they are an equal join but with different names.  If they had the same name it would be a simple by statement.  How can I join these two when they have equal value and different names?

3 REPLIES 3
Anotherdream
Quartz | Level 8

data trial;

merge trial1(rename=(gen_id=sys_id)) trial2;

by sys_id;

run;


Haikuo
Onyx | Level 15

Choose the "id" you want to keep and rename the other one:

data trial;

   merge trial1 /*keeping gen_id*/

             trial2 (rename=sys_id=gen_id);

by gen_id;

run;

Or without renaming/Sorting, use

Proc sql;

   create table trail as

    select *  from trail1 a, trial2 b where  a.gen_id=b.sys_id;

quit;

Haikuo

DBailey
Lapis Lazuli | Level 10

proc sql;

create table trial as

select

     *

from

     trial1 t1

     inner join trial2 t2

          on t1.gen_id=t2.sys_id;

quit;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 13898 views
  • 0 likes
  • 4 in conversation