Sql AWS Athena从选择查询创建表

Sql AWS Athena从选择查询创建表,sql,amazon-athena,Sql,Amazon Athena,我正在尝试使用下面的查询创建表。如果我不创建表,而只是从SELECT*运行部件,则可以运行查询 (SELECT * FROM "MyDatabase"."2007" A WHERE A."column name a" NOT IN ('U','A+','A','A-') AND A."column name b" NOT IN ('SHH','CTP') AND NOT EXISTS (SELECT *

我正在尝试使用下面的查询创建表。如果我不创建表,而只是从SELECT*运行部件,则可以运行查询

    (SELECT *
    FROM "MyDatabase"."2007" A
    WHERE A."column name a" NOT IN ('U','A+','A','A-')
            AND A."column name b" NOT IN ('SHH','CTP')
            AND NOT EXISTS 
        (SELECT *
        FROM "MyDatabase"."2008" B
        WHERE (B."column name a" = A."column name a"
                AND B."column name b" = A."column name b"
                AND B."column name c" = A."column name c")))
错误消息为“GENERIC_INTERNAL_error:字段以“;”结尾:应为“;”,但在第1行获得了“partOfAColName:…”


从谷歌搜索来看,列名中的空格似乎是个问题。但我不确定。我在列名中有空格。列名由Glue Crawler自动检测。所以我不确定我是否能对此做些什么。我有大约20列,虽然中间都有空间。有人能提出解决办法吗?谢谢。

当您执行CREATE TABLE AS…时,您告诉雅典娜在SELECT中使用相同的列名创建一个表,但在这种情况下,这些列名包含空格,雅典娜不允许您使用空格创建列名。为了避免这种情况,您可以使用符合雅典娜规范的列名创建表,然后使用INSERT INTO SELECT…FROM填充该表