我正在做一个家庭作业问题而且很难过。这是一个问题:
以下是我的内容,我收到的错误是'无效的列名FinalPrice'
USE th0664920
GO
CREATE VIEW Order_Item_Products
AS
SELECT o.OrderID, o.OrderDate, o.TaxAmount, o.ShipDate, p.ProductName
FROM Orders AS o, Products AS p
GO
SELECT ItemPrice, DiscountAmount, (ItemPrice - DiscountAmount) AS
FinalPrice, Quantity, (FinalPrice + TaxAmount) AS ItemTotal
FROM OrderItems, Orders;
我不希望任何人为我写这篇文章,但我希望得到帮助,以了解我做错了什么来得到这个错误。提前谢谢
答案 0 :(得分:0)
一些问题
在第一个上
使用连接而不是表,表语法
需要有一个连接条件(on) - 很可能是productID
on the second
不确定
视图应该是单个查询
答案 1 :(得分:0)
你的查询有很多问题,但是你自己承认,你刚刚开始。您获得的具体错误是因为您使用的数据库引擎不允许您按照您尝试的方式在select子句中使用别名。具体来说,你有这个:
SELECT ItemPrice
, DiscountAmount
, (ItemPrice - DiscountAmount) AS FinalPrice
, Quantity
, (FinalPrice + TaxAmount) AS ItemTotal
FinalPrice
是别名,而不是列。大多数数据库引擎都会抛出错误,正如您使用的那样。你必须重复计算。换句话说,这个:
, (FinalPrice + TaxAmount) AS ItemTotal
一定是这个
, (ItemPrice -DiscountAmount + TaxAmount) AS ItemTotal