楼主: video1243
5497 4

[其他] sql怎么实现查找匹配功能,类似与excel的vlookup [推广有奖]

  • 0关注
  • 0粉丝

已卖:2份资源

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
306 个
通用积分
0
学术水平
2 点
热心指数
4 点
信用等级
2 点
经验
418 点
帖子
39
精华
0
在线时间
72 小时
注册时间
2011-3-5
最后登录
2022-3-21

楼主
video1243 发表于 2017-7-19 21:14:11 |AI写论文
50论坛币
我希望用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;

最佳答案

听絮 查看完整内容

proc sql; create table qq as select a.id1,a.num1,b.id2,b.num2 from a left join b on a.id1=b.id2; quit; data qq2; set qq; if num2 ^=. then num1=num2; drop id2 num2; run;
关键词:vlookup lookup EXCEL Vlook Look

回帖推荐

老姜2017 发表于3楼  查看完整内容

proc sql; select a.id1, case when a.id1= b.id2 then b.num2 else a.num1 end 'num1' from a left outer join b on a.id1 = b.id2; quit;

听絮 发表于2楼  查看完整内容

proc sql; create table qq as select a.id1,a.num1,b.id2,b.num2 from a left join b on a.id1=b.id2; quit; data qq2; set qq; if num2 ^=. then num1=num2; drop id2 num2; run;

沙发
听絮 发表于 2017-7-19 21:14:12
proc sql;
create table qq as
select a.id1,a.num1,b.id2,b.num2 from a left join b on a.id1=b.id2;
quit;
data qq2;
set qq;
if num2 ^=. then num1=num2;
drop id2 num2;
run;

已有 1 人评分经验 论坛币 收起 理由
admin_kefu + 20 + 20 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 20   查看全部评分

藤椅
老姜2017 发表于 2017-7-20 21:01:30
proc sql;
        select
          a.id1,
          case when a.id1= b.id2 then b.num2 else a.num1 end 'num1'
          from
          a left outer join b on a.id1 = b.id2;
quit;

板凳
video1243 发表于 2017-7-20 23:23:41
老姜2017 发表于 2017-7-20 21:01
proc sql;
        select
          a.id1,
我要找的就是就是这个!!谢谢你

报纸
video1243 发表于 2017-7-21 02:45:47
老姜2017 发表于 2017-7-20 21:01
proc sql;
        select
          a.id1,
再次非常感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-30 22:04