Hello everyone,
I have a question regarding a left join. I have two tables which look like this:
table1:
ID | info1 | info2 |
1 | xyz | 10 |
2 | abc | 20 |
3 | def | 30 |
4 | ghi | 40 |
table2:
ID | info3 |
1 | A |
1 | A |
2 | C |
2 | C |
2 | C |
3 | A |
3 | A |
4 | F |
4 | F |
4 | F |
I now want to join the information from table 2 to my first table but I would only need info3 once so that my final table looks like this:
desired table:
ID | info1 | info2 | info3 |
1 | xyz | 10 | A |
2 | abc | 20 | C |
3 | def | 30 | A |
4 | ghi | 40 | F |
By simply coding this:
proc sql;
create table test as
select a.*, b.info3
from table1 as a
left join table2 as b
on a.ID=b.ID;
quit;
I get several duplicate rows. I guess I have to distinct the join somewhere, but I am not sure how.
Thank you for your help.
Hi @Jay_Aguilar
Try this:
proc sql;
create table test as
select a.*, b.info3
from table1 as a
left join
(select distinct * from table2) as b
on a.ID=b.ID;
quit;
Best,
Hi @Jay_Aguilar
Try this:
proc sql;
create table test as
select a.*, b.info3
from table1 as a
left join
(select distinct * from table2) as b
on a.ID=b.ID;
quit;
Best,
Thank you very much for your help!!
You're welcome @Jay_Aguilar 😊
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.