如何在sas中使用proc sql,在另一个表中使用in语句

时间:2015-11-04 18:30:22

标签: sql sas

proc sql;
   create table X as
   select a.date, a.exdate
   from optionm.opprcd as a
   where a.volume>0
     and a.secid in (secids);
quit;

我想做类似上面的事情。当变量secid具有出现在名为" secids"的表中的值时,创建一个获取数据的表。由于我想要的值大约是600,我不能用于(100,101等)。我需要以某种方式从另一个表中提取这些值。

任何帮助都会非常感激,因为我不是SAS的专家。

2 个答案:

答案 0 :(得分:3)

proc sql;
create table X 
as select 
a.date,
a.exdate
from optionm.opprcd as a
where a.volume>0
and a.secid in (select /*column*/secid from /*table*/secids)
;quit;

注意 - 退出!

答案 1 :(得分:0)

试试这个:

proc sql;
    create table X as
    select a.date, a.exdate
    from optionm.opprcd as a,sec_tab b
    where a.secid=b.secids and a.volume>0;
quit;

注意:基本上,Join比子查询更快。