Sql 无效的符号/语法

Sql 无效的符号/语法,sql,sas,proc-sql,Sql,Sas,Proc Sql,我正试图在SAS中运行PROC SQL步骤,但由于某些原因一直出现错误。这是我的密码: PROC SQL; CREATE TABLE NewTable AS SELECT a.ID as ID, a.Group as Group, a.2014_04, b.2014_04, c.2014_04, b.2014_04/a.2014_04,

我正试图在SAS中运行PROC SQL步骤,但由于某些原因一直出现错误。这是我的密码:

PROC SQL; 
    CREATE TABLE NewTable AS
        SELECT a.ID as ID, 
            a.Group as Group, 
            a.2014_04,
            b.2014_04,
            c.2014_04,
            b.2014_04/a.2014_04,
            c.2014_04/a.2014_04
        FROM work.TESTDATA a
        LEFT OUTER JOIN work.TESTDATA_0000 b on a.ID
        LEFT OUTER JOIN work.TESTDATA_0001 c on b.ID;
QUIT; 
我收到的错误如下:

ERROR 22-322: Syntax error, expecting one of the following: a name, *.  

ERROR 200-322: The symbol is not recognized and will be ignored.

这些错误似乎集中在变量上。错误是否与我引用变量的方式有关

在SAS中,变量名必须以字符或下划线开头。因此,您的
2014
列在SAS中无效

试着这样做:

PROC SQL; 
    CREATE TABLE NewTable AS
        SELECT a.ID as ID, 
            a.Group as Group, 
            a.'2014_04'n,
            b.'2014_04'n,
            c.'2014_04'n,
            b.'2014_04'n/a.'2014_04'n,
            c.'2014_04'n/a.'2014_04'n
        FROM work.TESTDATA a
        LEFT OUTER JOIN work.TESTDATA_0000 b on a.ID
        LEFT OUTER JOIN work.TESTDATA_0001 c on b.ID;
QUIT;

'n
允许您仍然使用无效的SAS变量名

分隔标识符,例如
a.“2014\u 04”
。您是如何创建以数字开头的变量名的?您确定这是变量名而不是附加到变量的标签吗?