使用proc sql join时可以使用or语句吗

时间:2019-02-12 16:59:48

标签: sql sas

我正在尝试使用proc sql联接2个表。我在一个表中有一个键变量,而在另一表中有2个键变量。我想使用or语句并执行类似的操作

proc sql;
    create table merged_SQL as
    select L.*, R.B
    from one as L left join
         two as R
         on L.A= R.A or  L.B= R.A;
    quit;

我知道这段代码是不可能的,但是有一种方法可以进行一些修改。附言所有变量的格式相同。

1 个答案:

答案 0 :(得分:0)

您要寻找的是UNION子句。查询如下所示:

select L.*, R.A
from one as L join two as R on L.A = R.A
union
select L.*, R.B
from one as L join two as R on L.B = R.B

根据您的数据结构,您可以考虑使用UNION ALL