Reeza provides the ideal solution, eliminating the need to create a new data set.
proc sql;
update have1 as h1
set var2=(select var2 from have2 as h2 where h1.var1=h2.var1)
where var1 in (select var1 from have2);
quit;
I reckon the where statement only improves performance. If you're updating only a few values in a very large data set then this will significantly speed up the update. Definitely my favorite solution to the problem.
... View more