|
沙发

楼主 |
发表于 2011-11-28 22:08:05
|
只看该作者
Re: 两个表合并的问题
is this meets your expectations?
data t1;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 . .
var2 0.2 1 .
var3 0.5 0.7 1
;
run;
data t2;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 0.2 0.5
var2 . 1 0.7
var3 . . 1
;
run;
*method 1;
data t;
merge t1 t2(rename=(var1=tvar1 var2=tvar2 var3=tvar3));
by var;
if missing(var1) then var1=tvar1;
if missing(var2) then var2=tvar2;
if missing(var3) then var3=tvar3;
drop tvar:;
run;
*method 2;
proc sql;
create table tt as
select a.var,coalesce(a.var1,b.var1) as var1,coalesce(a.var2,b.var2) as var2,coalesce(a.var3,b.var3) as var3
from t1 a join t2 b
on a.var eq b.var;
quit; |
|