我使用过 MS Access,但我不是 SQL Server 专家。现在我发现了一个令我困惑的不同之处。(我使用的是 SQL Server 2008。)
我正在 SELECT 中进行一些计算,并希望在下一个计算中使用一个计算的结果。
假设我们有一个包含两个字段的产品表 - 名称和价格。在 MS Access 中,此查询工作正常:
SELECT Name, Price * 2 AS DoublePrice, DoublePrice * 2 AS QuadPrice
FROM Products
即我在下一个使用第一个计算的结果。这给出了我期望的结果-名称+价格的两倍+价格的四倍。
但这不会在 SQL Server 下编译 - 我在第二次计算中得到一个“未知字段:DoublePrice”错误。
有什么办法可以使这项工作?即稍后在同一个SELECT 中使用(命名)计算?我做了一些相当大的计算,并希望在其他计算中建立这些值。并且为此添加额外的视图/子选择感觉很愚蠢......
感谢您的帮助!:-)