楼主: zhaoping603
3783 4

[原创博文] A数据集中是名字的简称,B数据集是名字的全称,怎样查找到匹配的?求助 [推广有奖]

  • 0关注
  • 0粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
261 个
通用积分
0
学术水平
11 点
热心指数
13 点
信用等级
9 点
经验
338 点
帖子
74
精华
0
在线时间
83 小时
注册时间
2011-4-7
最后登录
2017-3-13

楼主
zhaoping603 发表于 2011-7-13 10:23:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

  1. data a;
  2. input name $20.  ;
  3. cards;
  4. 奥鸿药业
  5. 奥捷专用车制造
  6. 百合食品
  7. 百盛汽车销售服务
  8. 宝塔物资贸易
  9. ;
  10. run;
  11. data b;
  12. input fullname $30.;
  13. cards;
  14. 锦州奥鸿药业有限责任公司
  15. 锦州奥捷专用车制造有限公司
  16. 锦州百合食品有限公司
  17. 锦州百盛汽车销售服务有限责任公司
  18. ;
  19. run;
复制代码

数据如上,怎么样能在select 语句中把数据集A中的第5条记录找出来。也就是说找出简称与全名不匹配的。
还想再问一下,select可选的sounds like , like ,not like 这些关键字是什么意思啊?
二维码

扫码加我 拉你入群

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

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

关键词:数据集 Select 有限责任公司 食品有限公司 Elect 汽车销售 有限公司 专用车 关键字 锦州

沙发
soporaeternus 发表于 2011-7-13 10:28:24
仅是这样简单规则的简称的话,试试kindex函数
Let them be hard, but never unjust

藤椅
zhaoping603 发表于 2011-7-13 11:02:01
  1. proc sql;
  2. create table match as
  3. select * from a,b
  4. where KINDEX(fullname , name)^=0;
  5. quit;
复制代码

不太明白你的意思。kindex能够两个参数都是变量么?还请麻烦了,本人水平比较低。谢谢 2# soporaeternus

板凳
soporaeternus 发表于 2011-7-13 11:15:48
  1. proc sql;
  2. create table r as
  3.         select
  4.                 a.name
  5.                 ,sum(case when KINDEX(fullname , compress(name)) then 1 else 0 end) as n
  6.         from
  7.                 a a
  8.         left join
  9.                 b b
  10.         on 1=1
  11.         group by
  12.                 a.name
  13.         /*having count(*)=0*/
  14. ;
  15. quit;
复制代码
已有 2 人评分论坛币 热心指数 收起 理由
crackman + 1 热心帮助其他会员
liuzhenzhu + 50 + 2 热心帮助其他会员

总评分: 论坛币 + 50  热心指数 + 3   查看全部评分

Let them be hard, but never unjust

报纸
zhaoping603 发表于 2011-7-13 11:36:47
非常感谢,我学习一下。谢谢啦。你换头像了吧。 4# soporaeternus

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-6 08:12