Да, все верно. То же самое с полем BatchSize
.
Вы не указали имя таблицы при использовании полей в формуле для Full Price
, и если заголовок вашего сообщения должен случайно совпадать с сообщением об ошибке, которое заставило вас опубликовать ваше сообщение, наиболее вероятно, также поле с именем Price
в вашей таблице OrderDetails
, поэтому Access не знает, какое из двух полей использовать при вычислении значений (поскольку вы обращаетесь к обеим таблицам в своем запросе). Вероятно, вы хотели сделать следующее:
SELECT Customers.FirstName, Customers.LastName, Orders.OrderDate, Products.ProductName,
Products.Price, Products.BatchSize, Products.[Price]*Products.[BatchSize] AS [Full Price]
FROM Products INNER JOIN
((Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID) INNER JOIN
OrderDetails ON Orders.OrderID = OrderDetails.OrderID)
ON Products.ProductID = OrderDetails.ProductID;
Но: Если ваша таблица OrderDetails
также содержит Price
, пожалуйста, не говорите Access, чтобы использовать поле из таблицы Products
, но прежде чем спросить себя (или кого-то, кто знает структура базы данных) какую таблицу указывать (также для 5-го поля в вашем запросе). Возможно, Price
в таблице Products
представляет собой цену покупки , а цена, которую должен заплатить клиент, хранится в таблице OrderDetails
(аналогично образцу базы данных Northwind).