楼主: vivikero
5391 7

【求助】proc sql查询语句与merge的区别 [推广有奖]

  • 1关注
  • 0粉丝

已卖:21份资源

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
97 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
799 点
帖子
42
精华
0
在线时间
49 小时
注册时间
2013-1-28
最后登录
2018-7-26

楼主
vivikero 发表于 2013-9-21 20:10:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问一下SAS大神们,我想查找A表与B表共有的数据(或者子集):
proc sql;
create table cmc as select * from a
where stkcd
in (select stkcd from b);
quit;



data work;
merge a b;
by stkcd;
run;
data work;
set work;
if cityname^=' ';
run;


两个程序得到的观测个数有差异,不知道是哪里的问题。想请教一下各自程序运行的原理~~
或者如果有更好的方法,请不吝赐教!
非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:proc sql Merge sql ROC Select create 程序

沙发
allen 发表于 2013-9-22 06:27:56
能不能贴点数据片段出来?
If you love someone, let it be and set him/her free,if he/she comes back to you,it\'s meant to be.

藤椅
tangliang0905 发表于 2013-9-22 07:21:05 来自手机
sql没有考虑到cityname非空的情况,两边条件不一样,结果不一样也不稀奇

板凳
ferriswu 发表于 2013-9-22 09:12:05
这两种方式差别非常大,merge有些先天缺陷,多对多情况下不建议使用。看个图: combine_vertically.png

报纸
vivikero 发表于 2013-9-22 18:29:14
tangliang0905 发表于 2013-9-22 07:21
sql没有考虑到cityname非空的情况,两边条件不一样,结果不一样也不稀奇
谢谢哈~检查了一下,没有空的情况 感觉应该不是这个问题~

地板
vivikero 发表于 2013-9-22 18:31:21
ferriswu 发表于 2013-9-22 09:12
这两种方式差别非常大,merge有些先天缺陷,多对多情况下不建议使用。看个图:
谢谢!请问join函数呢?而且如果A数据集包含B数据集的话,是不是应该不存在多对对的这个问题?

7
tangliang0905 发表于 2013-9-22 23:34:32
vivikero 发表于 2013-9-22 18:29
谢谢哈~检查了一下,没有空的情况 感觉应该不是这个问题~
看来你还是需要贴一下data,不然这边只能给你猜测的结果,你只能一个一个的试了

8
vivikero 发表于 2013-9-23 14:44:53
tangliang0905 发表于 2013-9-22 23:34
看来你还是需要贴一下data,不然这边只能给你猜测的结果,你只能一个一个的试了
谢谢亲~~~已解决了~是stkcd这一项有重复所致……orz……实在是个低级错误><  不过也由此向大家学习了一下各个命令的运作。感谢!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 05:45