我有一个这样的查询:
select
(price1 + price2 + price3) as total_price
from prices
我如何使用计算列total_price来计算其他总计?
select
(price1 + price2 + price3) as total_price,
(price4 + total_price) as total_price2
from prices
这可能吗?
不,不可能引用在同一级别定义的列别名。在同一逻辑查询处理阶段出现的表达式有如同在同一时间点进行评估.
正如乔·塞尔科所说
在 SQL 中,事情“同时”发生,而不是像它们那样“从左到右”发生
将在顺序文件/过程语言模型中
不过,您可以在 CTE 中定义它,然后在 CTE 外部重新使用它。
Example
WITH T
AS (SELECT ( price1 + price2 + price3 ) AS total_price,
price4
FROM prices)
SELECT total_price,
( price4 + total_price ) AS total_price2
FROM T
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)