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

时间:2018-07-04 14:03:16

标签: sql impala hue

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

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

但是我得到这个错误,

  

AnalysisException:无法解析列/字段引用:'column_1'

我正在使用HUE和Impala。

1 个答案:

答案 0 :(得分:2)

您使用子查询或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中处理表达式的顺序。