【问题标题】:Omitting a list of observations in sas sql在 sas sql 中省略观察列表
【发布时间】:2014-11-19 19:33:03
【问题描述】:

我正在尝试在 sas 中创建一个表,该表将从特定列中获取观察结果,只要它们未列在另一个表的另一列中。

我用过代码:

proc sql; 
create table tbl as
select a.var1, a.var2, a.var3 from
tblA as a, tblB as b
where a.var1~=b.var1;
quit;

会不会是因为我已将 b 分配为表而我没有从中选择变量?还是我的情况不正确?

【问题讨论】:

    标签: sql merge sas


    【解决方案1】:

    你的条件不正确,你需要告诉表如何加入(相等的地方)然后告诉他们你只想要那些不匹配的。

    为此使用左连接:

      select a.var1, a.var2, a.var3
      from 
       tblA as a
       left join tblB as b on a.var1 = b.var1
      where
       b.var1 is null
    

    其中a 是您想要的与b 不匹配的值。

    See SAS SQL join examples for more

    这也可以使用NOT IN来完成

    【讨论】:

    • 这就像一个魅力。我想我可以用这个条件来解决另一个问题。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    相关资源
    最近更新 更多