PROC SQL Joins on Multiple Tables

Suppose you need to join multiple tables by a primary key using PROC SQL.
PROC SQL : Multiple Tables

The sample data for three tables are shown below. The primary key in these tables is the variable "ID". We need to join these tables.

Create Sample Data
data temp;
input id x1 x2;
cards;
1 25 37
2 35 47
3 44 97
;
run;
data temp2;
input id var1 var2;
cards;
2 65 37
3 85 47
5 34 97
;
run;

data temp3;
input id xx1 xx2;
cards;
3 55 37
5 25 47
4 64 97
;
run;

SAS : PROC SQL Code 
proc sql noprint;
create table test as
select a.ID, b.*, c.* from
temp a left join temp2 b
on a.id = b.id
left join temp3 c
on a.id = c.id;
quit;
Output : Joined Table

Proc SQL Tutorials : 15 Proc SQL Tutorials


SAS Tutorials : 100 Free SAS Tutorials

About Author:

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 7 years of experience in data science and predictive modeling. During his tenure, he has worked with global clients in various domains like banking, Telecom, HR and Health Insurance.

While I love having friends who agree, I only learn from those who don't.

Let's Get Connected: Email | LinkedIn

Get Free Email Updates :
*Please confirm your email address by clicking on the link sent to your Email*
Related Posts:
4 Responses to "PROC SQL Joins on Multiple Tables"
  1. Thanks for sharing..Good one..

    ReplyDelete
  2. Hi, thanks for your tutorial. By the way I got one question: how to join efficiently more than 10 tables using proc sql (should we do a loop for that?)
    Thanks.

    ReplyDelete
  3. Yes, you can use loop. Loop works under PROC SQL.

    ReplyDelete
  4. Hi Deepanshu, Can i have a example for the same. If you feel like to share.

    ReplyDelete

Next → ← Prev