消息 207,级别 16,状态 1,第 1 行无效的列名称“ItemTotal”

问题描述

我写了这段代码。没有我的 WHERE 语句它工作正常。我一直收到错误

消息 207,级别 16,状态 1,第 1 行无效的列名称“ItemTotal”。

我不知道我做错了什么!

SELECT    
    ItemID, 
    ItemPrice,   
    ItemPrice * quantity AS Pricetotal,    discountAmount * quantity AS discountTotal,    ((ItemPrice - discountAmount) * quantity) AS ItemTotal
FROM                                                                                                                                                               
    OrderItems
WHERE ItemTotal > 500;

解决方法

没有给出数据库平台,但基于查询:“ItemTotal”不是您可以使用的列,因为它是一个别名。您需要过滤实际数据

SELECT    
    ItemID,ItemPrice,ItemPrice * quantity AS PriceTotal,DiscountAmount * quantity AS DiscountTotal,((ItemPrice - DiscountAmount) * quantity) AS ItemTotal
FROM                                                                                                                                                               
    OrderItems
WHERE ((ItemPrice - DiscountAmount) * quantity) > 500;