如何使用我刚刚创建的列在 Impala 中创建另一个列?

How do I use columns I just created to create another column in Impala?

我正在尝试弄清楚如何根据我刚刚创建的其他列来创建列。这就是我正在尝试的:

CREATE TABLE test AS 
(SELECT 
1 as column_1,
2 as column_2,
column_1 + column_2 as column_3
) 

但是我得到这个错误,

AnalysisException: Could not resolve column/field reference: 'column_1'

我正在使用 HUE 和 Impala。

您使用子查询或 CTE:

SELECT column_1, column_2,
       column_1 + column_2 as column_3
FROM (SELECT 1 as column_1, 2 as column_2) x

SQL 不允许在定义它的 SELECT 中重复使用列别名。原因很简单:SQL不保证SELECT.

中表达式的处理顺序