Указанное поле (цена) может относиться к более чем одной таблице - PullRequest
0 голосов
/ 31 октября 2018

указанное поле (цена) может относиться к нескольким таблицам, перечисленным в предложениях from вашей SQL-статистики. на основании ниже,

SELECT Customers.FirstName, Customers.LastName, Orders.OrderDate, Products.ProductName, Products.Price, Products.BatchSize, [Price]*[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;

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Да, все верно. То же самое с полем 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).

0 голосов
/ 31 октября 2018

Укажите имя таблицы для использования:

OrderDetails.[Price]*[BatchSize]

или

Products.[Price]*[BatchSize]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...