全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10695 8
2014-07-14
/*合并所有数据库,放在work逻辑库中*/
proc sql;
create table control as
select distinct
a.stkcd, a.accper,a.accperyy,
b.pay_top3,
c.shrcr1,c.shrcr3,
d.zongshizhi,
e.ind,  e.ind_2code,  e.baohu,  e.polution,
f.zichan,   f.fuzhai,
h.tobinq_a,  h.tobinq_b,  h.tobinq_c,  h.tobinq_d,  h.bm_1,  h.bm_2,
i.inc_oper,
j.zhouqi_a,  j.zhouqi_b,  j.zhouqi_c, j.gudongquanyizhouqi_a,  j.gudongquanyizhouqi_b,  j.gudongquanyizhouqi_c,
k.ocf,  k.fcf,

from
cont.earning a,            cont.gaoguanxinchou b,      cont.guquanjizhong c,
cont.shizhi d,             cont.indcd_new  e,          cont.lev_size f,
cont.listdt    g,           cont.tobinq     h,         cont.inc_oper i,
cont.zhouqi    j,          cont.fcf         k

where a.stkcd =b.stkcd =c.stkcd =d.stkcd=e.stkcd=f.stkcd=g.stkcd=h.stkcd  =i.stkcd  =j.stkcd =k.stkcd
and   a.accper=b.reptdt=c.reptdt                =f.accper       =h.accper =i.accper =j.accper=k.year
and   a.accperyy=d.year

order by stkcd;
quit;

二维码

扫码加我 拉你入群

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

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

全部回复
2014-7-14 13:03:17
where 只能求交集,并集是 union(排除重复)
二维码

扫码加我 拉你入群

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

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

2014-7-14 14:28:57
你再试试这个:
复制代码
因为没有你的数据集,为了让你更清楚地理解,现简单举例如下:
复制代码

二维码

扫码加我 拉你入群

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

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

2014-7-14 15:02:19
使用sas enterprise guide 吧,里面可以outer join
二维码

扫码加我 拉你入群

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

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

2014-7-14 17:48:40
920240553 发表于 2014-7-14 14:28
/*合并所有数据库,放在work逻辑库中*/
proc sql;
        create table control as
您好!我试了试,但是log报错了,不知怎么回事。

282  /*合并控制变量数据库,放在work逻辑库中*/
283  proc sql;
284  create table control as
285  select distinct
286  a.stkcd, a.accper,a.accperyy,
287  b.pay_top3,
288  c.shrcr1,c.shrcr3,
289  d.zongshizhi,
290  e.ind,  e.ind_2code,  e.baohu,  e.polution,
291  f.zichan,   f.fuzhai,
292  h.tobinq_a,  h.tobinq_b,  h.tobinq_c,  h.tobinq_d,  h.bm_1,  h.bm_2,
293  i.inc_oper,
294  j.zhouqi_a,  j.zhouqi_b,  j.zhouqi_c, j.gudongquanyizhouqi_a,  j.gudongquanyizhouqi_b,  j.gudongquanyizhouqi_c,
295  k.ocf,  k.fcf,
296  l.central_soe,  l.local_soe,  l.soe
297  from
298          cont.earning as a
299          union all
300          cont.gaoguanxinchou as b
             ----
             79
301          union all
             -----
             22
             76
ERROR 79-322: 期望“SELECT”。

ERROR 22-322: 语法错误,期望下列之一: 带引号的字符串, ',', AS, FORMAT, FROM, INFORMAT, INTO, LABEL, LEN, LENGTH, TRANSCODE.

ERROR 76-322: 语法错误,语句将被忽略。

302          cont.guquanjizhong as c
303          union all
304          cont.shizhi as d
305          union all
306          cont.indcd_new as e
307          union all
308          cont.lev_size as f
309          union all
310          cont.listdt  as  g
311          union all
312          cont.tobinq as  h
313          union all
314          cont.inc_oper as i
315          union all
316          cont.zhouqi as j
317          union all
318          cont.fcf  as k
319          union all
320          cont.attri_ctrl  as l
321  on a.stkcd =b.stkcd =c.stkcd =d.stkcd=e.stkcd=f.stkcd=g.stkcd=h.stkcd  =i.stkcd  =j.stkcd =k.stkcd=l.stkcd
322  and   a.accper=b.reptdt=c.reptdt                =f.accper       =h.accper =i.accper =j.accper
323  and   a.accperyy=d.year=k.year=l.year
324  order by stkcd;
325  quit;
NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
      实际时间          0.03 秒
      CPU 时间          0.03 秒
二维码

扫码加我 拉你入群

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

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

2014-7-14 17:54:10
/*老师上课时举得例子说,如果两个数据库求并集,做外部链接,可以这么做*/
proc sql;
create table m20 as
select m12.donate,ret1.stock,ret1.year,ret1.ret
from m12 full join ret1
on m12.stock=ret1.stock and m12.year=ret1.year;
quit;
但是如果是多个数据库做外部链接,是不是就要把“from m12 full join ret1”变成“from m12
union all ret1
union all ret2
union all ret3


?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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