全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2508 8
2007-08-15

下面有两个表:

1.sample

code customer samplelist procnum
011002 a 010-100 071033
011002 a 010-100 071034
011002 a 010-100 071035
011003 b 010-101 071033
011004 c 010-102 071034
011005 d 010-103 071035
011005 d 010-103 071034
011006 e 010-104 071036

2 order

code customer order procnum
011002 a df2007001 071033
011002 a df2007002 071033
011002 a df2007002 071034
011005 d df2007003 071034

那位高手知道我怎么能实现下面的表:

code customer samplelist procnum order
011002 a 010-100 071033 df2007001
011002 a 010-100 071033 df2007002
011002 a 010-100 071034 df2007002
011002 a 010-100 071035  
011003 b 010-101 071033  
011004 c 010-102 071034  
011005 d 010-103 071035  
011005 d 010-103 071034 df2007003
011006 e 010-104 071036  

就是在合并两个表的时候,关联的列有重复的情况怎么解决,能不能实现以多列关联合并两个表?

谢谢!!

二维码

扫码加我 拉你入群

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

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

全部回复
2007-8-16 14:16:00

好象得不出这个结果

二维码

扫码加我 拉你入群

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

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

2007-8-16 18:54:00

proc sort data=sample out=samp;
by code procnum;
run;
proc sort data=order out=ode;
by code procnum;
run;
data zwen;
merge samp(in=a) ode(in=b);
by code procnum;
if a or b;
run;

[此贴子已经被作者于2007-8-16 18:59:01编辑过]

二维码

扫码加我 拉你入群

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

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

2007-8-16 20:54:00

谢谢三楼前辈!

能实现!!

可是我还有一个问题,能不能帮再帮我解决:

假如把Sample表换成如下数据:

code customer samplelist procnum
011002 a 010-100 071033
011002 a 010-100 071034
011002 a 010-105 071033
011003 b 010-101 071033
011004 c 010-102 071034
011005 d 010-103 071035
011005 d 010-103 071034
011006 e 010-104 071036

能不能实现下面结果:

code customer samplelist procnum order
011002 a 010-100 071033 df2001001
011002 a 010-100 071033 df2001002
011002 a 010-105 071033 df2001001
011002 a 010-105 071033 df2001002
011002 a 010-100 071034 df2001002
011002 a 010-100 071035
011003 b 010-101 071033
011004 c 010-102 071034
011005 d 010-103 071034 df2001003
011005 d 010-103 071035
011006 e 010-104 071036

谢谢!

非常感谢!!

二维码

扫码加我 拉你入群

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

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

2007-8-17 00:55:00

code customer samplelist procnum order
011002 a 010-100 071033 df2001001
011002 a 010-100 071033 df2001002
011002 a 010-105 071033 df2001001
011002 a 010-105 071033 df2001002
011002 a 010-100 071034 df2001002
011002 a 010-100 071035
011003 b 010-101 071033
011004 c 010-102 071034
011005 d 010-103 071034 df2001003
011005 d 010-103 071035
011006 e 010-104 071036

你所要求的终表数据是不是多了条???

011002 a 010-100 071035
如果是多了这条记录的话,可以用下述代码实现:
data ode;
set order;
run;
proc sql;
create table zwen as
select *
from sample natural left join ode;
quit;
proc sort data=zwen;
by code procnum samplelist;
run;
ps:如果以后从事与SAS Programming 有关的话,建议你还是看些SAS的基础书,如 Little SAS 等

[此贴子已经被作者于2007-8-17 10:47:57编辑过]

二维码

扫码加我 拉你入群

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

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

2007-8-17 20:23:00

谢谢楼上前辈哦

我是刚开始学习SAS 而且工作,所以学习时间比较少

不知道有什么好的书籍介绍下

真的很感谢!

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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