xing-_-he 发表于 2009-11-12 14:57
如对数据集中的分组变量,如果某个分组中既存在满足某种“属性一”的记录,也存在满足某种“属性二”的记录,且一般来说属性一和属性二是互斥的,则将该分组所对应的所有记录输出。如如下数据表:
MESHCODE,NAME
HT00,第一出口入口
HT00,第一入口出口
HT00,第二出口入口
HT00,第三出口
MT00,第四入口出口
NT00,第五出口入口
需要将满足这样分组中的所有记录输出:该组中既有“%出口入口”也有“%入口出口”,对以上数据表输出的是:
HT00,第一出口入口
HT00,第一入口出口
HT00,第二出口入口
HT00,第三出口
希望用SQL语句实现。。。谢谢各位大侠了。。。
data a;
input MESHCODE $ NAME $ 40.;
cards;
HT00 第一出口入口
HT00 第一入口出口
HT00 第二出口入口
HT00 第三出口
MT00 第四入口出口
NT00 第五出口入口
;
run;
proc sql;create table b1 as select * from a where index(name ,"出口入口");
create table b2 as select * from a where index(name ,"入口出口");
create table b3 as select * from b1 where exists (select * from b2 where b1.MESHCODE=b2.MESHCODE);
create table final as select * from a where exists (select * from b3 where a.MESHCODE=b3.MESHCODE);quit;