Northwind - последний идентификатор клиента по сотруднику
Из примера базы данных Northwind я пытаюсь получить OrderID самого последнего заказа для каждого сотрудника, который я использую:
SELECT EmployeeID, MAX(OrderDate) AS OrderDate, COUNT(OrderDate) AS Count,
(SELECT OrderID
FROM Orders
WHERE OrderDate = (SELECT MAX(OrderDate)
FROM Orders)
) AS OrderID
FROM Orders
GROUP BY EmployeeID
Который возвращает:
EmployeeID OrderDate Count OrderID
1 1997-01-06 29 10443
2 1997-01-22 20 10443
3 1997-02-11 31 10443
4 1997-02-10 40 10443
5 1996-12-27 11 10443
6 1997-02-07 18 10443
7 1997-01-28 14 10443
8 1997-02-12 27 10443
9 1997-01-10 6 10443
Но проблема в том, что он просто получает самый последний OrderID и показывает его для всех сотрудников, а не для каждого сотрудника. Что я могу сделать, чтобы это исправить?
Спасибо
1 ответ
Я сделал некоторые изменения в вашем запросе. Надеюсь, поможет.
SELECT EmployeeID, MAX(OrderDate) AS OrderDate, COUNT(OrderDate) AS Count,
(SELECT MAX(OrderID)
FROM Orders
WHERE EmployeeID = O.EmployeeID
) AS OrderID
FROM Orders O
GROUP BY EmployeeID