我试图弄清楚如何根据我刚刚创建的其他列创建一个列。这就是我正在尝试的:
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。
答案 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
中处理表达式的顺序。