我想编写一个看起来像这样我可以在select语句中使用别名吗?
select 1 as one, 2 as two , one + two as three
但是SQL Server可以不知道是什么one + two
是一个语句。
我可以重新写入这种形式
SELECT x.one
,x.two
,x.one + x.two AS three
FROM (
SELECT 1 AS one
,2 AS two
) x
这给了我我期望的输出。这只是有点混乱(在一个没有人为的例子中更是如此),我也不确定这种事情对SQL Server的内部结构有什么影响,以及它对执行速度的影响。
有没有更好的方法来做到这一点?
你使用子查询的方法是正确的。 – gvee 2015-03-25 12:59:34
不允许引用由select子句创建的其他列的原因是因为指定了SQL语言,因此所有列的计算“好像”都是并行计算的。 – 2015-03-25 13:20:30