我有表t1和t2,如何创建表t3?基本上我想更新 t1 中的 Var2,其中 t1.Key=t2.Key,使用 t2 中的数据,同时保持 t1 中的其他所有内容相同。
表t1
Key Var1 Var2
1 A AA
2 B BB
3 C CC
4 D DD
5 E EE
表t2
Key Var1 Var2
3 C XX
4 D YY
6 F FF
表t3
Key Var1 Var2
1 A AA
2 B BB
3 C XX
4 D YY
5 E EE
以下 SAS 代码只会给出错误:
proc sql;
update t1
set var2 = t2.var2
from t1
inner join t2 on
t1.key=t2.key;
quit;
谢谢!
最佳答案
可以这样做:
data t1;
input Key Var1 $ Var2 $;
datalines;
1 A AA
2 B BB
3 C CC
4 D DD
5 E EE
;
data t2;
input Key Var1 $ Var2 $;
datalines;
3 C XX
4 D YY
6 F FF
;
title 'Table T1';
proc print data=t1 noobs;run;
title 'Table T2';
proc print data=t2 noobs;run;
更新自身:
proc sql;
update t1 set var2 = (select var2 from t2 where t2.key=t1.key)
where t1.key in(select key from t2);
quit;
检查:
title 'Updated T1';
proc print data=t1 noobs;run;
关于sql - 使用 SAS 中的另一个表更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35656088/