proc sql;
delete from data1 a
where a.* in (select * from data2);
quit;
不知道对不对,姑且试一试吧。作者: shiyiming 时间: 2004-8-17 16:55 标题: 请教clong 你的程序可以解决上问题。我有另一个相关的问题:
有两数据集tem1:
id dec
1 a
2 b
3 c
4 d
tem2:
id rat
3 0.5
1 4.6
要将tem2中记录加入tem1中id相同的dec字段,变为数据集tem3:
id rat dec
3 0.5 c
1 4.6 a
(注意tem3中的id顺序与tem2相同)
我使用宏实现的(因为要保证tem2中的记录的顺序),不知直接用sql该如何实现?作者: shiyiming 时间: 2004-8-17 17:25 标题: sas中的sql好像只可以做一对一的查询 我的数据集data1中每个id号都有几条纪录,因为是存放同个病人的不同天的病历纪录,而数据集data2中存放的是每个id号所对应的其他纪录,每个id都只有唯一纪录,且data2中的id是确诊患病的id,data1中的就是所有病人,包括确诊和未确诊的。我的目的是想要将data1中的未确诊的所有id及其纪录删除掉,我用过sql,但是好像只可以适用于data1中的每一个id无重复纪录的情况。
不知道大家有什么好办法呢?作者: shiyiming 时间: 2004-8-18 18:41 标题: 。 proc sql;
create table c as
select l.*, r.data2的某个变量 as indicator/*做指示用*/ from a as l
left join b as r on l.varible=r.variable and .......;
data result;
set c;
where indicator=.;
run;
不知道行不行,试试吧作者: shiyiming 时间: 2004-8-22 21:05 标题: 回复! 楼上的看起来挺复杂的,
proc sql;
create table term3 as
select term2.id, term2.rat,term1.dec from term1,term2
where term1.id=term2.id;
我试过了,应该问题!作者: shiyiming 时间: 2004-8-24 14:20 标题: re:请问如何将一个数据集中的一些不符合条件的数据删除 proc sql;
create table tem1 as
select *
from tem1
where id not in (select distinct id from tem2);
quit;