Я новичок в SQL, поэтому я решил возиться с базой данных Northwind.В настоящее время я пытаюсь показать информацию о сотрудниках, в частности, сколько денег каждый получил от всех своих заказов.Это то, что мне нужно сейчас получить, чтобы получить общую сумму от каждого EmployeeID:
SELECT Orders.EmployeeID, SUM(cost.Total) AS TotalSales
FROM Orders, (
SELECT OrderID, SUM(OrderDetails.UnitPrice * OrderDetails.Quantity) AS Total
FROM OrderDetails
GROUP BY OrderID
) AS cost
GROUP BY Orders.EmployeeID;
Это работает нормально, однако у меня возникают проблемы с добавлением этого подзапроса к остальной части выбора:
SELECT Employees.EmployeeID AS ID, Employees.LastName AS Last, Employees.FirstName AS First, Employees.Title, COUNT(EmployeeTerritories.TerritoryID) AS `Number of Territories`
FROM Employees
LEFT JOIN EmployeeTerritories ON Employees.EmployeeID = EmployeeTerritories.EmployeeID
GROUP BY Employees.EmployeeID;
Я пробовал это:
SELECT Employees.EmployeeID, Employees.LastName, Employees.FirstName, sales.TotalSales
FROM Employees, (
SELECT Orders.EmployeeID, SUM(cost.Total) AS TotalSales
FROM Orders, (
SELECT OrderID, SUM(OrderDetails.UnitPrice * OrderDetails.Quantity) AS Total
FROM OrderDetails
GROUP BY OrderID
) AS cost
GROUP BY Orders.EmployeeID
) AS sales
LEFT JOIN sales ON Employees.EmployeeID = sales.EmployeeID
GROUP BY EmployeeID;
Однако я получаю сообщение об ошибке, в котором говорится, что таблица 'northwind.sales' не существует.Я думаю, что понимаю, что это потому, что он существует только там, где он был объявлен, но я не уверен, как обойти это.
Как добавить этот подзапрос, чтобы он работал с JOIN, и я могуесть столбец TotalSales?Это вообще возможно, или создание новой таблицы - единственный способ сделать это?