SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 700|回复: 3
打印 上一主题 下一主题

如何得出如下顺序的结果

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-8-23 20:24:04 | 只看该作者

如何得出如下顺序的结果

有两数据集
tem1:
id dec
1 a
2 b
3 c
4 d

tem2:
id rat
3 0.5
1 4.6
要将tem2中记录加入tem1中id相同的dec字段,变为数据集tem3:
id rat dec
3 0.5 c
1 4.6 a
(注意tem3中的id顺序与tem2相同)
我使用宏实现的(因为要保证tem2中的记录的顺序),不知直接用sql该如何实现?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-8-24 14:06:55 | 只看该作者

re:如何得出如下顺序的结果

想要保持tem2的顺序,用sql很难实现,因为sql结果都是排过序的。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-8-24 17:48:17 | 只看该作者

re

sql一步是很难实现
我觉得先在tem2中加一个id_new:1,2,3.....,把它的顺序固定好
然后再和tem1按id做merge,之后再对id_new排序恢复id的顺序
这也很不算麻烦吧

当然也可以用sql代替merge
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-8-25 14:53:09 | 只看该作者

re

但我发现用如下程序,在两数据集记录数相同的情况下,有是(并不是每次)可以的到我要的结果
[code:07644]proc sql;
  create table tem3 as
  select tem2.id,tem1.dec,tem2.rat
  from tem2,tem1
  where tem2.id=tem1.id;
quit;[/code:07644]
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-10 19:48 , Processed in 0.192872 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表