2017-03-09 135 views
1

這是我的問題,我試圖找到銷售額最高的州中銷售額最高的員工。我已經編寫了單獨的查詢來首先查找銷售額最高的州,然後查找該州銷售額最高的員工。SQL將2個查詢合併爲1

我的問題是我只能有一個查詢,所以我必須結合這兩個使用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

我刪除了MySQL數據庫標籤。代碼顯然是SQL Server。 –

+0

你需要一個額外的連接來基於一個公共列來連接這兩個查詢 – LONG

+0

@LONG查詢2已經連接第一個 –

回答

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 
+0

中的兩個表我不需要在這種情況下的where子句,但工作。謝謝 –

+0

@本菲爾確定...在哪裏刪除...非常感謝 – scaisEdge