【发布时间】:2017-08-04 01:34:40
【问题描述】:
【问题讨论】:
-
不能在同一查询中自引用别名列
标签: sql-server
【问题讨论】:
标签: sql-server
您不能在同一 SELECT 语句中使用别名。要么你把它放在一个子查询中:
SELECT
npv, npv - 1000
FROM (
SELECT (listprice - standardcost) * quantity AS npv
FROM SampleTable
) t
或者重复使用公式:
SELECT
(listprice - standardcost) * quantity AS npv,
((listprice - standardcost) * quantity) - 1000
FROM SampleTable
如果您在嵌套或连接查询中多次使用该公式,您可以将其放入CTE:
WITH Cte AS(
SELECT *
(listprice - standardcost) * quantity AS npv,
((listprice - standardcost) * quantity) - 1000 AS colAlias -- your alias here
FROM SampleTale
)
SELECT * FROM Cte
下次使用该公式时,请改用 CTE 中的 SELECT。
【讨论】: