如何在SELECT语句之外创建SQL别名

时间:2015-02-17 04:28:01

标签: sql teradata

我创建了一个包含大量计算的查询,无法弄清楚如何在不包含在SELECT语句中的情况下将计算值存储到变量中。例如:

SELECT (VAL_1 + VAL_2) as CALC_1, (CALC_1 + VAL_3) as CALC_2 FROM MY_TABLE

我可以在其他SELECT中使用CALC_1别名。如果我不想显示/选择它,我该如何使用别名?下面给了我一个无效的查询错误。

DECLARE @CALC_1 INTEGER
SET @CALC_1 = VAL_1 + VAL_2
SELECT @CALC_1, @CALC_1 + VAL_3
FROM MY_TABLE

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要将其嵌套在派生表中:

SELECT (CALC_1 + VAL_3) as CALC_2 
FROM 
 (
   SELECT (VAL_1 + VAL_2) as CALC_1 
   FROM MY_TABLE
 ) as dt