sql server使用计算列

前端之家收集整理的这篇文章主要介绍了sql server使用计算列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的查询
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

这可能吗?

解决方法

不可以引用在同一级别定义的列别名.出现在同一逻辑查询处理阶段的表达式为 @L_502_0@.

As Joe Celko says

Things happen “all at once” in sql,not “from left to right” as they
would in a sequential file/procedural language model

您可以在CTE中定义它,然后在CTE外重复使用它.

WITH T
     AS (SELECT ( price1 + price2 + price3 ) AS total_price,price4
         FROM   prices)
SELECT total_price,( price4 + total_price ) AS total_price2
FROM   T

猜你在找的MsSQL相关文章