2017-03-09 28 views
1

ここで私の質問ですが、私は売上高が最も多い州で最も売り上げを出している従業員を探しています。私は別々のクエリを書いて、最も売り上げの多い状態を最初に見つけ、その状態で最も売れている従業員を探します。SQL 2つのクエリを1つに結合する

私の問題は1つのクエリしか持つことができないため、JOINまたはサブクエリを使用して2つを結合する必要がありますが、最初のクエリが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

これらの2つのクエリを1つの共通の列に基づいてリンクするには、余分な結合が必要です – 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

@BenFeil ok ...削除された場所...多くのありがとう – scaisEdge

関連する問題