2016-11-04 1 views
-2

OKこれは私のデータベースの宿題でこの問題に悩まされています。最も売り出した従業員を選択する方法

私はこの質問に答える必要があります。

の従業員の名前と現在の月のための最高の個々の販売を持っている従業員 のための電子メールアドレスを選択します。

したがって、当月の売上高が最も多い従業員を選択する必要があります。ここ

そして、私が持っているものです。

SELECT 
    FirstName + ' ' + LastName as 'Employee Name', Email 
FROM 
    Employee 
INNER JOIN 
    Sale ON Employee.EmployeeNumber = Sale.EmployeeNumber 
GROUP BY 
    Sale.SaleDate, Sale.SaleNumber, Employee.FirstName, Employee.LastName, Employee.Email 
HAVING 
    DatePart(Month, SaleDate) = DatePart(Month, GetDate()) AND ... 

私が欠けている唯一の事は私のHAVING文の2番目の部分です。

クエリ私は現在、これらのcurrent query results

これらの結果は、我々はトム・タッカーが最も売り上げを持っていることがわかります私の現在の月(11月)に行われたすべての売上を示してリターンを持っています。しかし、彼の名前を合法的に表示するために、私は選択クエリが必要です。

私はもともとMax(Count(SaleNumber))を使用していると思っていましたが、互いに集約関数を使用できないというエラーが表示されます。だから、私は望む結果を得るための手がかりがありません。

ありがとうございます!ユーザテーブルに参加し

SELECT * 
FROM Sale 
WHERE DatePart(Month, SaleDate) = DatePart(Month, GetDate()) 
ORDER BY amt DESC 
FETCH FIRST 1 ROW ONLY 

:最大の販売は今月をゲット部品

にそれを破るの問題を解決するために

+1

で、内側のクエリを置き換える最も売上高と従業員の詳細を見つけるために、多くの問題を解決するために、同じ技術を使用することができますし、フォントを大きくしてもそれは成立しません。 – Hogan

+0

私は知っています。これは免責事項であり、したがって重要です。 –

+0

したくない場合は、お答えする必要はありません。私は単に助けを求めています。私がコピー/ペーストするのではなく、学習するという私の意思を人々に知らせるという私の決定について、私と議論してはいけません。 –

答えて

1

SELECT COALESCE(E.FirstName+' '+E.LastName,E.FirstName,E.LastName,'') as Employee_Name, E.Email 
FROM Employee E 
JOIN (
    SELECT EmployeeNumber 
    FROM Sale 
    WHERE DatePart(Month, SaleDate) = DatePart(Month, GetDate()) 
    ORDER BY amt DESC 
    FETCH FIRST 1 ROW ONLY 
) On S.EmployeeNumber = E.EmployeeNumber 

私たちはただ太字で何かを置くこの

-- select employee# with most sales this month 
SELECT EmployeeNumber 
FROM (
    SELECT EmployeeNumber, Count(SaleNumber) as SC 
    FROM Sale 
    WHERE DatePart(Month, SaleDate) = DatePart(Month, GetDate()) 
) sub 
ORDER BY SC DESC 
FETCH FIRST 1 ROW ONLY 
+0

非常に知的ですが、今月中に最大の売り上げを獲得しています。今月最も売り上げた従業員を探しています。この質問では、売却の金銭的価値は重要ではありません。とにかく答える時間をとってくれてありがとう! :)私は今までFETCHについて知りませんでした –

+0

@PierreGravelle - これはあなたの質問からの引用です - "今月最高の個人売却を持っている従業員" – Hogan

+0

多分私は質問を誤解したかもしれません... –

関連する問題