我无法解决这个问题。我对 SQL 还很陌生,这是一个作业。我可以创建一个新表或做任何事情来获得下面问题的答案。
“谁是 2012 年表现最好的员工?请提供与 2012 年销售额最高的员工相关的姓名以及她(或他)的销售额。”
在 Employee 表中,我们应该使用 EmployeeID 作为对 Customer 表中的 SupportRepID 的引用,它应该与 CustomerID 链接,以便我们可以在发票表中提取总计。
我知道的很少,但我尝试但失败的是创建一个表,其中 EmployeeID 等于 SupportRepID 来识别员工。 SupportRepID 将与客户 ID 相匹配,因此在发票表中,当我们提取每个客户 ID 的总计时,它会在表中将每个金额提供给帮助该客户以解决此问题的员工。但是,我非常不知道如何执行此操作,因此如果有人可以帮助我,我将非常感激!另外,这只是2012年的,我也不知道如何具体说明。
此查询使用 CTE 来:
WITH CustomerSales AS (
SELECT I.CustomerId
,C.SalesRepID
,SUM(I.Total) AS CustomerSales
FROM Invoice AS I
INNER JOIN Customer AS C ON C.CustomerId=I.CustomerId
GROUP BY I.CustomerId
,C.SalesRepID
)
SELECT E.EmployeeId
,E.FirstName
,E.LastName
,SUM(CS.CustomerSales) AS EmployeeSales
FROM Employee AS E
INNER JOIN CustomerSales AS CS ON CS.SalesRepID=E.EmployeeId
GROUP BY E.EmployeeId
,E.FirstName
,E.LastName
ORDER BY SUM(CS.CustomerSales) DESC