我希望将通过“ proc import”导入的CSV数据集与我从proc sql中提取的数据集联系起来。有没有办法将我的proc导入文件扔到proc sql中?反之亦然?
我在这里:
proc import datafile = 'filepath'
out = dataname
dbms = CSV
replace
;
run;
proc sql
connect to netezza as dbcon
(server="url" database=sandbox user=me password="&password.");
create table work as
select distinct * from connection to dbcon
(
select distinct a.*
from
dataname as a
left join
sqltable as b
on
a.number = b.number
);
quit;
我目前正在收到此错误消息,但是不确定我的语法哪里错误:
ERROR: CLI prepare error: ERROR: relation does not exist database.ADMIN.dataname
SQL statement: select distinct a.*, b.* from dataname as a left join sqltable as b on a.number and b.number.
答案 0 :(得分:0)
使用CONNECT TO
语句连接到Netezza之后,括号内的任何内容,例如:
select ... from connection to dbcon (...);
exec (...) by dbcon;
位于Netezza框内 。您创建的名为dataname
的数据集存在于运行SAS会话的工作库中。
因此可以通过以下几种方式解决问题:
Insert into
在Netezza中创建表您通常可以按以下方式将connect to
语句转换为libname语句:
libname dbcon netezza server="url" database=sandbox user=me password="&password.";
如果您在dbcon库中创建dataname
,则第二个查询应该可以工作,前提是您具有在sandbox
数据库中创建表的权限。