全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1881 5
2017-07-19
我希望用SQL实现  ID1=ID2的时候,NUM2替换NUM1,请问,怎么做呢?

data a;
input id1  num1;
cards;
1        0.10
2        0.30
3        0.62
4        0.18
;
run;

data b;
input id2  num2;
cards;
3        0.507823376
2        0.253422338
8        0.267755827
5        0.219180932
10        0.229077534
;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-7-20 00:41:32
proc sql;
select a.id1, coalesce(c.num1,a.num1) as num1
from a
left join
(select a.id1, b.num2 as num1 from a,b
having a.id1=b.id2) as c
on a.id1=c.id1;
quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-20 12:28:37
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-20 14:39:18
proc sql;
select id,case when num2>0 and num1>0 then num2 else num1 end as number1,num2 as number2  
from (select coalesce(a.id,b.id) as id,num1,num2 from a full join b on a.id=b.id);
quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-20 23:24:00
albusdzx 发表于 2017-7-20 14:39
proc sql;
select id,case when num2>0 and num1>0 then num2 else num1 end as number1,num2 as number2  ...
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-20 23:24:16
albusdzx 发表于 2017-7-20 14:39
proc sql;
select id,case when num2>0 and num1>0 then num2 else num1 end as number1,num2 as number2  ...
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群