Существует запрос, который запрашивает любимые продукты, которые покупает каждый клиент. Я должен выбрать, и при первом выборе я выбрал количество продуктов, которые купил каждый клиент. в другом выберите, я хочу выбрать максимум этих групп для каждого клиента. Но когда я хочу выбрать максимум (предыдущий столбец выбора), он получает ошибку и говорит, что она не определена, может кто-нибудь помочь мне, как решить эту проблему. Я очень мотивирован, чтобы решить проблему таким способом, и я не желаю использовать другие методы, такие как создание представления или что-то подобное. Может ли кто-нибудь помочь мне в этом:
SELECT INN.Maximum,INN.Name, customer.ProductName from
(SELECT ContactName, ProductName, COUNT([Order Details].Quantity) AS NumOftimeCustomer
FROM Orders, [Order Details], Products, Customers
WHERE [Order Details].OrderID = Orders.OrderID
AND [Order Details].ProductID = Products.ProductID
AND Orders.CustomerID = Customers.CustomerID
GROUP BY ContactName, ProductName)customer
INNER JOIN
(SELECT Customers.ContactName AS Name, **MAX(customer.numOftimecustomer)** AS Maximum
from Customers, customer
GROUP BY Customers.ContactName) INN
ON INN.Name = customer.ContactName AND INN.Maximum = customer.NumOftimeCustomer
та часть, которая упоминается с MAX (customer.numOftimecustomer) **, это та часть, которая выдает ошибку и говорит, что клиент объекта не определен. есть ли способ решить это без просмотра? почему так? так как клиент, которого я определил, не является таблицей?
вот что вам нужно:
select
*
from (SELECT ContactName, ProductName, COUNT([Order Details].Quantity) AS NumOftimeCustomer
FROM Orders, [Order Details], Products, Customers
WHERE [Order Details].OrderID = Orders.OrderID
AND [Order Details].ProductID = Products.ProductID
AND Orders.CustomerID = Customers.CustomerID
GROUP BY ContactName, ProductName)customer
where customer.num = (select max(num) from
(SELECT ContactName, ProductName, COUNT([Order Details].Quantity) AS NumOftimeCustomer
FROM Orders, [Order Details], Products, Customers
WHERE [Order Details].OrderID = Orders.OrderID
AND [Order Details].ProductID = Products.ProductID
AND Orders.CustomerID = Customers.CustomerID
GROUP BY ContactName, ProductName)customer2
where customer2.name = customer.name)