Hi All,
Can you please help me getting the below output using sql join
It seems that table b updates table a:
data nn;
update a b;
by id;
run;
What is the logic behind the first row in your want dataset?
Please post your test data as text in a code window (thats the {i} above post area) in future. For an SQL solution:
proc sql; create table WANT as select COALESCE(A.ID,B.ID) as ID, COALESCE(A.NAME,B.NAME) as NAME from A full join B on A.ID=B.ID; quit;
Yep, my code works then.
Yuo would be best off clarify the logic behind why a data item appears in the output, if it is take B value if present else A then swap the coalesce over:
proc sql; create table WANT as select COALESCE(A.ID,B.ID) as ID, COALESCE(B.NAME,A.NAME) as NAME from A full join B on A.ID=B.ID; quit;
A data step variant that leaves the name for ID 1 intact:
data nn;
merge
a
b (rename=(name=_name))
;
by id;
if missing(name) then name = _name;
drop _name;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.