0

SAS PROC SQLで既存のテーブルに「新しい」行のみを挿入する方法を知っている人はいますか?

proc sql;
 create table class as 
 select * 
 from sashelp.class 
 where sex = 'F'; 
quit;

proc sql;  
 create table classm as 
 select * 
 from sashelp.class 
 where sex = 'M' or Name = 'Alice';
quit;

proc sql;
 insert into class 
 select * 
 from classm ;
quit;

insertステートメントでは、whereステートメントを使用してclassmから10個の新しい行のみを挿入することはできません(Aliceなし)。

これを回避する方法はありますか?私はビッグデータを扱っているので、proc sqlでこれを実行したいのですが、データステップは問題ありません。

ありがとう

4

2 に答える 2

2

これは私のために働いた...

proc sql;
create table class as 
select * 
from sashelp.class 
where sex = 'F'; 
quit;

proc sql;  
create table classm as 
select * 
from sashelp.class 
where sex = 'M' or Name = 'Alice';
quit;

proc sql;
insert into class 
select * 
from classm 
where name^="John";
quit;
于 2012-04-16T15:18:53.377 に答える
0

マージを使用してみませんか?

2つのテーブルを参照(id)である列で並べ替え、2つのテーブルを選択したキーとマージします。

于 2012-04-17T08:34:34.610 に答える