jungsee 发表于 2014-3-7 01:15 
谢谢大神的指点迷津!!!
data a;
input id $2. x y z ;
datalines;
1 2 4 6
1 5 7 1
1 3 4 1
1 2 5 7
2 4 7 1
2 4 1 7
2 9 4 5
2 8 7 3
3 4 5 6
;
run;
/*data step*/
proc sort data=a;
by id;
run;
data result;
flag=0;
drop flag;
do _n_=1 by 1 until(last.id);
set a;
by id;
flag+(z=1);
end;
do _n_=1 to _n_;
set a;
if flag=0 then output;
end;
run;
/*SQL*/
proc sql noprint;
create table result_sql
as
select a.*
from a
left join
(
select id,sum(case when z=1 then 1 else 0 end) as c1
from a
group by id
)b
on a.id=b.id
where c1=0;
quit;