我有这样的查询,并且显然Impala不支持SELECT语句中的子查询。我如何在Impala中整齐地重写它?(impala)AnalysisException:子查询在选择列表中不受支持
SELECT
col1,
col2,
...
CASE
WHEN (SELECT 1
FROM
table1 x,
table2 y
WHERE
x.id = y.id
LIMIT 1) = 1
THEN
'A'
ELSE
'B'
END
coln
FROM
...
你的查询有以下错误(S):
AnalysisException:子查询不在选择列表的支持。
谢谢,这个工程。尽管如此,我的实际上是一个非常大的查询,有多个子查询,并且这样做会让人感到害怕:)如果我没有错,它会花费额外的处理器时间。 – burakongun
我自己没有检查过查询计划,但是你的例子中的子查询与主查询是独立的,因此我猜它只会被计算一次。如果你有一个依赖子查询,你可以使用一个连接,但最好的方法取决于实际的查询。 – Zoltan