楼主: peijiamei
1889 3

[原创博文] 两个表的sql合并,自己写程序了,结果不是想要的。 [推广有奖]

已卖:299份资源

学科带头人

75%

还不是VIP/贵宾

-

威望
3
论坛币
26157 个
通用积分
12.7133
学术水平
217 点
热心指数
343 点
信用等级
210 点
经验
75401 点
帖子
1099
精华
1
在线时间
2016 小时
注册时间
2007-11-15
最后登录
2016-3-21

楼主
peijiamei 发表于 2010-7-29 09:19:10 |AI写论文
10论坛币
stockedate
720001221
920060107



stockdater
720012150.007692
72001216-0.00509
720012170.033248
72001218-0.01485
7200123-0.01759
720012240.015345
720012250.007556
9200601010
920060102-0.0025
9200601030.005012
9200601040
9200601050
9200601060.002493
9200601070.002487
920060108-0.00745
9200601090
9200601100.044736
920060111-0.02267
9200601120.015463
920060113-0.00762
10200601010.058823
10200601020.024154
1020060103-0.04245
10200601040.014778
1020060105-0.00971
10200601060.142156

通过上面的两个表格,合并为下边的表格:
向高手致敬先!


stockdateredate
720012150.007692 
72001216-0.00509 
720012170.033248 
72001218-0.01485 
7  20001221
7200123-0.01759 
720012240.015345 
720012250.007556 
9200601010 
920060102-0.0025 
9200601030.005012 
9200601040 
9200601050 
9200601060.002493 
9200601070.00248720060107
920060108-0.00745 
9200601090 
9200601100.044736 
920060111-0.02267 
9200601120.015463 
920060113-0.00762 
关键词:sql Stock date tock stoc 程序

回帖推荐

hopewell 发表于2楼  查看完整内容

本帖被以下文库推荐

沙发
hopewell 发表于 2010-7-29 09:19:11
  1. data one;
  2.         input stock edate yymmdd8.;
  3.         format edate yymmdd10.;
  4. datalines;
  5. 7 20001221
  6. 9 20060107
  7. ;
  8. data two;
  9.         input stock date yymmdd8. r;
  10.         format date yymmdd10.;
  11. datalines;
  12. 7 20001215 0.007692
  13. 7 20001216 -0.00509
  14. 7 20001217 0.033248
  15. 7 20001218 -0.01485
  16. 7 20001223 -0.01759
  17. 7 20001224 0.015345
  18. 7 20001225 0.007556
  19. 9 20060101 0
  20. 9 20060102 -0.0025
  21. 9 20060103 0.005012
  22. 9 20060104 0
  23. 9 20060105 0
  24. 9 20060106 0.002493
  25. 9 20060107 0.002487
  26. 9 20060108 -0.00745
  27. 9 20060109 0
  28. 9 20060110 0.044736
  29. 9 20060111 -0.02267
  30. 9 20060112 0.015463
  31. 9 20060113 -0.00762
  32. 10 20060101 0.058823
  33. 10 20060102 0.024154
  34. 10 20060103 -0.04245
  35. 10 20060104 0.014778
  36. 10 20060105 -0.00971
  37. 10 20060106 0.142156
  38. ;
  39. proc sql;
  40.         create table three(drop=temp) as
  41.                 select coalesce(a.stock,b.stock) as stock, coalesce(a.edate,b.date) as temp,
  42.                                 b.date, b.r, a.edate
  43.                         from one a full join two b
  44.                                 on a.stock=b.stock and a.edate = b.date
  45.                         order by stock, temp;
  46. quit;
复制代码
已有 2 人评分经验 论坛币 热心指数 收起 理由
bakoll + 3 + 3 精彩帖子
crackman + 1 老大来了

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

藤椅
mydo 发表于 2010-7-29 10:15:17
proc sql;
create table ccc as
select b.stock, a.stock as stock_, date, r, edate from
aaa as a full join bbb as b on a.stock=b.stock and b.date=a.edate
;
quit;
data ccc;
set ccc;
if stock=. then stock=stock_;
drop stock_;
run;

but not sorted as in your final dataset...waiting for better solution...
已有 1 人评分论坛币 热心指数 收起 理由
peijiamei + 10 + 1 精彩帖子

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

板凳
mydo 发表于 2010-7-29 12:00:10
鼓掌!学习了!

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

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