全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3135 7
2013-11-21
本人尝试google和查书,仍未解决问题,所以来坛子里请教大侠们。

               问题如下:

               现在有三张表,我的最终目的是得出一些比率,计算这些比率时会用到不同表中的数据。

               比如,计算比率α=x/y,x在表1,y在表2.

               本人的代码如下:
                /*var1、var4在table1;var2在table2;var4、var5在table3*/
               proc sql;
create table ratio as select
var1/var2 as α,
log(var3) as β,
var4 - var5 as γ,
from  sasuser.table1  a , sasuser.table2  b ,sasuser.table3 c
on a.code=b.code and b.code=c.code and c.code=a.code
and a.date=b.date and b.date=c.date and c.date=a.date
;
quit;

提示错误:期望下列之一: !, !!, &, (, *, **, +, ',', -, /, <, <=, <>, =, >,


谢谢大侠,试问 on 后面跟的条件语句错在哪里?我想让查询的观测的code和date保持一致。谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-21 21:51:31
var4 - var5 as γ,  这里多了一个逗号,还有把on换成where试试
二维码

扫码加我 拉你入群

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

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

2013-11-21 22:02:07
xieyangboy 发表于 2013-11-21 21:51
var4 - var5 as γ,  这里多了一个逗号,还有把on换成where试试
谢谢,我去试试再来反馈
二维码

扫码加我 拉你入群

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

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

2013-11-21 22:24:32
xieyangboy 发表于 2013-11-21 21:51
var4 - var5 as γ,  这里多了一个逗号,还有把on换成where试试
可以了,错误排除了。
还想继续问您:
如果表更多的话,on/where 到底选哪个呢?
有没有比较简洁的写法,替代 a.code=b.code and b.code=c.code and c.code=a.code
and a.date=b.date and b.date=c.date and c.date=a.date
这啰嗦的写法?
谢谢大侠
二维码

扫码加我 拉你入群

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

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

2013-11-21 23:27:24
tjnkswordsman 发表于 2013-11-21 22:24
可以了,错误排除了。
还想继续问您:
如果表更多的话,on/where 到底选哪个呢?
我是菜鸟。。。
没见过on啊,一直用的是where
你那个语句,c.code=a.code,c.date=a.date这两个就不用写嘛
二维码

扫码加我 拉你入群

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

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

2013-11-22 11:37:22
多表连接,如果需要用到left join 或者right join 的时候要用到on,如果是这个情况就不需要用where
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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