全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3447 6
2010-01-11
data a;
input x m;
cards;
1 11
2 22
;
run;

data b;
input x n;
cards;
2 222
3 333
;
run;

想用sql语句的到下面样子的表:
x m n
1 11 .
2 22 222
3 .    333

该怎么做?也就是说不想排序就达到merge的效果,多谢了!我是新手!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-1-11 19:34:16
proc sql;
select coalesce(a.x, b.x) as x, a.m, b.n from
b as b full join A as a  on A.x = b.x ;quit;
二维码

扫码加我 拉你入群

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

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

2010-1-12 09:03:17
多谢楼上的,用下试试去
二维码

扫码加我 拉你入群

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

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

2010-1-12 09:48:50
学习啦!顶!
二维码

扫码加我 拉你入群

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

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

2010-1-12 15:20:17
问下二楼的,如果一步把多个表链接起来,帮忙看下我下面的写法有没有问题,多谢了!
data a;
input x m;
cards;
11 61
22 62
33 63
;
run;

data b;
input x n;
cards;
33 73
22 72
44 74
;
run;

data c;
input x p;
cards;
55 85
33 83
22 82
;
run;

data d;
input x q;
cards;
55 95
33 93
22 92
66 96
;
run;
/*SQL全联接*/
proc sql;
   create table full as select
      coalesce(a.x,b.x,c.x,d.x) as x,
      a.*, b.n, c.p, d.q
   from a
      full join b on coalesce(a.x,b.x)=b.x
      full join c on coalesce(a.x,b.x,c.x)=c.x
      full join d on coalesce(a.x,b.x,c.x,d.x)=d.x;
quit;
二维码

扫码加我 拉你入群

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

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

2010-1-12 15:25:54
另外,接上楼问下,如果两个表a有变量x y z, 表b有变量x m n;现在把两个表连起来
proc sql;
   create table c as select
     a.*, b.m, b.n
from a full join b on a.x=b.x;
quit;
现在当b中变量很多时,一个一个写很麻烦,如果用b.*又会提示b.x和a.x重合,请问下如何能简写又不提示出错?!非常感谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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