这是我的问题,我正在努力寻找在销售额最高的州销售额最高的员工。我已经编写了单独的查询,首先找到销售额最多的州,然后找到销售额最高的员工。
我的问题是我只能有一个查询,所以我必须使用JOIN或子查询来组合这两个查询,但我无法这样做,因为我的第一个查询返回了2个单独的列。我如何组合这些查询?
SELECT TOP 1
StateProvince AS "Most Popular State",
COUNT (*) AS "Number Sold"
FROM CUSTOMER JOIN INVOICE ON CustomerID = FK_CustomerID
GROUP BY StateProvince
ORDER BY "Number Sold" DESC
SELECT TOP 1
EMPLOYEE.Name,
EmpID,
COUNT(InvoiceNbr) AS "Number Sold"
FROM EMPLOYEE JOIN INVOICE ON EmpID = FK_EmpID
JOIN CUSTOMER ON FK_CustomerID = CustomerID
WHERE StateProvince = --Most popular state found in 1st query
GROUP BY EMPLOYEE.Name, EmpID
ORDER BY "Number Sold" DESC
答案 0 :(得分:1)
应该是这个
SELECT TOP 1
EMPLOYEE.Name,
EmpID,
COUNT(InvoiceNbr) AS "Number Sold By EMP",
StateProvince AS "Most Popular State",
COUNT (*) AS "Number Sold For STATE"
FROM EMPLOYEE JOIN INVOICE ON EmpID = FK_EmpID
JOIN CUSTOMER ON FK_CustomerID = CustomerID
GROUP BY EMPLOYEE.Name, EmpID
ORDER BY "Number Sold By EMP" DESC