当语句

时间:2019-05-24 08:39:59

标签: sql sas override case-when

我想将变量从“旧”数据集连接到“新”数据集。 UFORM变量的值为25或。 如果左联接为我提供了。值,我想将其替换为0。我不能在下面的sql语句中更新UFORM变量的值,而不是使UFORM2变量吗?

下面的语句有效,但我不想将UFORM2变量设为

proc sql;
   create table new as
   select X.*, Z.UFORM , case when Z.UFORM eq . then 0 else Z.UFORM end as UFORM2
   from old X
   left join info Z
   on X.value1 = Z.value1
   and X.value2 = Z.value2;
quit;

1 个答案:

答案 0 :(得分:2)

这是您想要的吗?

proc sql;
   create table new as
   select X.*, coalesce(Z.UFORM, 0) as UFROM
   from old X left join
        info Z
        on X.value1 = Z.value1 and
           X.value2 = Z.value2;
quit;