Hello,
I am joining two tables, testA, testB.code is as below, but how can I maintain the order of column name value, as H C D, instead of C D H after joining? Thank you so much!
data testA;
input name $ number;
datalines;
H 4
C 7
D 9
;
run;
data testB;
input name $ class;
datalines;
H 88
C 99
D 0
;
run;
proc sql;
create table final as
select a.*,b.* from testA a left join testB b on a.name=b.name;
quit;
One way to implement @Reeza's suggestion:
data testA;
input name $ number;
order = _n_;
datalines;
H 4
C 7
D 9
;
run;
data testB;
input name $ class;
datalines;
H 88
C 99
D 0
;
run;
proc sql;
create table final as
select a.*,b.* from testA a left join testB b on a.name=b.name
order by order;
quit;
You can't by default. If you have a variable you can sort by add that your order by statement.
If you don't have a sort var you'll have to create one.
One way to implement @Reeza's suggestion:
data testA;
input name $ number;
order = _n_;
datalines;
H 4
C 7
D 9
;
run;
data testB;
input name $ class;
datalines;
H 88
C 99
D 0
;
run;
proc sql;
create table final as
select a.*,b.* from testA a left join testB b on a.name=b.name
order by order;
quit;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.