全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4137 10
2010-11-18
proc sql;
create table try.wj_new_20101117 as  
select a.*
from try.wj_new_20101117 a left join try.wj_20101116 b
on a.claimno~=b.claimno;
quit;

运行该段程序后日志提示:
NOTE: 执行该查询涉及到执行无法优化的一个或多个 Cartesian 产品连接。

然后生成的sas数据集就越来越大,大到最后磁盘都不够装了还没运行出结果:(

请教一下,这个查询程序该怎么修改呢?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-18 10:32:47
恭喜我升为硕士!…
二维码

扫码加我 拉你入群

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

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

2010-11-18 10:46:53
proc sql;
create table try.wj_new_20101117 as  
select a.*
from try.wj_new_20101117 a
where a.claimno not in
(
select distinct claimno from try.wj_20101116
)
;
quit;

用不等于做连接条件貌似结果就是笛卡尔积全集减去用等号做连接条件的结果集,数量巨大可想而知
我一般用not in子查询
希望对你有帮助
二维码

扫码加我 拉你入群

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

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

2010-11-18 11:12:05
修改后重新运行,又提示以下错误了:(
ERROR: Utility file open failed.
二维码

扫码加我 拉你入群

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

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

2010-11-18 11:19:05
是不是由于目标表和原表名字重复,导致现在的原表不是原来的原表,而是那张硕大的表了啊,而硕大表由于意外中断而不完整......
尝试重新生成一下try.wj_new_20101117
还有目标表尽量不要和原表重名,那样会覆盖原表
二维码

扫码加我 拉你入群

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

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

2010-11-18 11:27:23
我的目标表名已经改成try.wj_update了,而且try.wj_new_20101117和try.wj_20101116都已经重新生成过了,结果提示出错。搞不懂了:(
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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