【发布时间】:2019-01-29 03:24:22
【问题描述】:
我目前正在评估 Amazon Athena 和 Amazon S3。 我用一个表(awsevaluationtable)创建了一个数据库(testdb)。该表有两列,x (bigint) 和 y (bigint)。
当我跑步时:
SELECT *
FROM testdb."awsevaluationtable"
但是,当我尝试基本的 WHERE 查询时:
SELECT *
FROM testdb."awsevaluationtable"
WHERE x > 5
我明白了:
SYNTAX_ERROR: line 3:7: Column 'x' cannot be resolved
我尝试了各种变体:
SELECT * FROM testdb.awsevaluationtable WHERE x > 5
SELECT * FROM awsevaluationtable WHERE x > 5
SELECT * FROM testdb."awsevaluationtable" WHERE X > 5
SELECT * FROM testdb."awsevaluationtable" WHERE testdb."awsevaluationtable".x > 5
SELECT * FROM testdb.awsevaluationtable WHERE awsevaluationtable.x > 5
我还确认 x 列存在:
SHOW COLUMNS IN sctawsevaluation
这似乎是一个非常简单的查询,但我不知道出了什么问题。我在documentation 中看不到任何明显的东西。任何建议将不胜感激。
【问题讨论】:
-
你试过用不同的列名吗?
-
这让我明白了,谢谢!
-
在我的情况下,我使用的是
column_name="val",而我应该尝试使用column_name='val'...值上的单引号 -
单引号也为我做了。语法如此严格似乎很疯狂。
-
可以在此处找到来自 AWS 的更多详细信息的说明:aws.amazon.com/de/premiumsupport/knowledge-center/…
标签: amazon-web-services amazon-s3 amazon-athena