楼主: ertyuj
1701 2

[原创博文] 如何将这2个数据文件进行合并? [推广有奖]

  • 0关注
  • 1粉丝

已卖:7份资源

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
0.7615
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
-351 点
帖子
136
精华
0
在线时间
164 小时
注册时间
2007-2-7
最后登录
2022-3-17

楼主
ertyuj 发表于 2012-1-13 13:38:21 |AI写论文
20论坛币
文件1部分数据如下如下:
LastName FirstName  math
zhang       san           a
zhang       san           b
...

文件2部分数据如下如下:
LastName FirstName math
zhang       san           c
zhang       san           d   
...

如何将文件1和2按照LastName和 FirstName合并,并且产生如下文件   
LastName FirstName  math english
zhang       san           a         c
zhang       san           a         d
zhang       san           b         c
zhang       san           b         d
...

DATA过程使用MERGE貌似不行,正在考虑SQL,尚无答案,期待大侠帮助。区区悬赏,不成敬意。

最佳答案

maidenhan 查看完整内容

Sorry, I provided the wrong answer before. U can use the full join in SQL to realize it. data test01; input LastName $ FirstName $ math $; cards; zhang san a zhang san b ;run; data test02; input LastName $ FirstName $ math $; cards; zhang san c zhang san d ;run; proc sql; create table test03 as select a.*, b.math as math_from_test02 from test01 as a full join test02 a ...
关键词:数据文件 行合并 English Englis First zhang 如何

沙发
maidenhan 发表于 2012-1-13 13:38:22
Sorry, I provided the wrong answer before. U can use the full join in SQL to realize it.

data test01;
input LastName $ FirstName $ math $;
cards;
zhang san a
zhang san b
;run;
data test02;
input LastName $ FirstName $ math $;
cards;
zhang san c
zhang san d
;run;
proc sql;
create table test03 as
select a.*, b.math as math_from_test02
  from test01 as a
  full join test02 as b
  on a.LastName = b.LastName and a.FirstName = b.FirstName;
quit;

藤椅
zhangzachary 发表于 2012-1-13 13:51:30
  1. proc sql noprint;
  2. create table test as
  3. select distinct *
  4. from doc1, doc2
  5. where doc1.lastname=doc2.lastname and doc1.firstname=doc2.firstname
  6. order by lastname, firstname;
  7. quit;
复制代码
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

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

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