请看下面这个程序;
我用sql更新了a表的2列数。
但这个写法的问题在于:两个表重新join了2次(更新b列join了一次,更新c列又join了一次),大大降低了程序的效率,
谁知道有什么好的写法,能一次更新多列数据进去?
(请注意有个要求,因为我的A表是个很大的主表,都做好了索引,所以A表不能动,一定要保留)
data a;
input a b c;
cards;
1 2 3
2 3 4
4 5 6
;
run;
data b;
input x y z;
cards;
1 55 55
2 66 88
;
run;
proc sql;
update a
set b=(select y from b where b.x=a.a),
c=(select z from b where b.x=a.a)
;quit;