我在雅典娜有当前的查询。
SELECT col1,
col_2,
A.col_3
FROM
(SELECT col_1,
col_3
FROM table_1
JOIN col_3
WHERE col_1 IN
(SELECT DISTINCT col_1
FROM table_2
JOIN table_1
ON table_1.col_1 = table_2.col_1
)
) AS A
LEFT JOIN
(SELECT col_2,
col_3
FROM table_3
JOIN col_3
WHERE col_2 IN
(SELECT DISTINCT col_2
FROM table_2
JOIN table_4
ON table_2.col_1 = table_4.col_1
JOIN table_3
ON table_4.col_2 = table_3.col_2
)
) AS B
ON B.col_3 = A.col_3
Run Code Online (Sandbox Code Playgroud)
它适用于 SQLite。但是当我在 AWS Athena 中运行它时,出现以下错误:
Queries of this type are not supported (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException; Request ID: some_id)
Run Code Online (Sandbox Code Playgroud)
我假设 AWS Athena 不支持此查询的某些部分,但我是该框架的新手。
The*_*heo 21
“不支持这种类型的查询”是 Athena 的通用说法,表示它不理解您的 SQL,但这不是一个简单的语法错误。换句话说,您正在使用 Athena 不支持的 SQL。
单独运行查询的最里面部分,如果没有收到错误,则添加包装它的 SQL,依此类推,直到找到导致错误的片段。如果您不知道如何解决它,请针对该问题提出一个新问题。