【发布时间】:2016-11-01 15:31:06
【问题描述】:
我在 SAS 中有一个与 sql server 表的连接,其中表名为“Additions_to_Aggregate$”。引号是名称的一部分。因此,在我的 SAS 编辑器中,当我尝试在部分代码中运行以下内容时,我返回了错误,因为 SAS 将其作为字符串而不是表名读取。
proc sql;
Create Table Name_Compare as
SELECT DISTINCT a.Insured_Name, agg.Policy_Holder_Name, a.Segment
FROM MySQLLib.ADV_Portfolio_Split as a
LEFT JOIN MySQLLib.'Additions_to_Aggregate$'n.data as agg
on a.Insured_Name = agg.Policy_Holder_Name;
quit;
有什么方法可以强制 SAS 将表名读取为文字字符串,或者您有其他解决方案的想法吗?我已经尝试在 SAS 资源管理器中重命名表,但我收到此错误并且不知道如何解释它。
【问题讨论】:
-
@BeanFrog 假设这是 SAS 语法,据我所知,这在 SAS 中不起作用,那就是 SQL Server 语法。
-
澄清一下,Cole,您不是在直通 (
connect to sql... select * from connection to sql ( )) 中执行此操作,而是在使用 LIBNAME 连接的 SAS 语法环境中执行此操作(MySQL是 sql 数据库的库名)? -
@Joe 是的,这是 SAS 语法。我编辑了我的原始帖子以显示这一点。另外,让您知道我已对您的原始解决方案进行了回复。
标签: sql sql-server sas