关于SAS中proc sql过程步的问题
现在有以下两个文件夹文件夹1,名为a.aanoname11cy22ly33yy文件夹2,名为b.bbnoage1-1202-2303-3404-4505-560我想先让a...
现在有以下两个文件夹
文件夹1,名为a.aa
no name
11 cy
22 ly
33 yy
文件夹2,名为b.bb
no age
1-1 20
2-2 30
3-3 40
4-4 50
5-5 60
我想先让a.aa中的no先变成1-1格式,让后再从b.bb中找出相同的no后,把b.bb中的age合并到a.aa中去;
合并后的文件夹如下,这个程序请问用proc sql如何写?
no name age
1-1 cy 20
2-2 ly 30
3-3 yy 40 展开
文件夹1,名为a.aa
no name
11 cy
22 ly
33 yy
文件夹2,名为b.bb
no age
1-1 20
2-2 30
3-3 40
4-4 50
5-5 60
我想先让a.aa中的no先变成1-1格式,让后再从b.bb中找出相同的no后,把b.bb中的age合并到a.aa中去;
合并后的文件夹如下,这个程序请问用proc sql如何写?
no name age
1-1 cy 20
2-2 ly 30
3-3 yy 40 展开
1个回答
展开全部
SQL的话参考下
select b.bb.no,a.aa.name,b.bb.age
from a.aa left join b.bb
1)
on a.aa=replace(b.bb.no,'-') --这个是去掉b.bb里的-的
或者也可以用
2)
on substr(a.aa.no,1,1)||'-'||substr(a.aa.no,2,1)=b.bb.no --这个是按你的要求,加-的
select b.bb.no,a.aa.name,b.bb.age
from a.aa left join b.bb
1)
on a.aa=replace(b.bb.no,'-') --这个是去掉b.bb里的-的
或者也可以用
2)
on substr(a.aa.no,1,1)||'-'||substr(a.aa.no,2,1)=b.bb.no --这个是按你的要求,加-的
更多追问追答
追问
谢谢你的回答,用以下的程序试了一下,b.bb.no这里显示error.....
proc sql;
create table a.bb as select b.bb.no, a.aa.name,b.bb.age
from a.aa join left b.bb
on substr(a.aa.no,1,1)||'-'||substr(a.aa.no,2,1)=b.bb.no;
run;
quit;
追答
是 left join .
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询