2017-03-13 5 views
0

私が執着しているクエリは、従業員が複数の売上を持っていたとしても、従業員が売却し顧客を数えた顧客の数を列挙することになっています。私はこれに非常に新しいので、それを理解するように見えることはできません。どんな助けでも大歓迎です!重複を除いて

select count(distinct o.customerid) 'Number of Customers', 
e.EmployeeID 'Employee ID', e.LastName, e.firstname 
from employees e 
full join Orders o 
on e.EmployeeID = o.employeeid 
group by o.CustomerID, e.EmployeeID, e.LastName, e.firstname 
order by e.employeeid, o.customerid asc 

私が得た結果は以下のとおりです。リストに結果のリストがどのように表示されているかを示しています。私は1つのフィールドで合計数を取得しようとしています。これはもっと理にかなってほしいのですか?

enter image description here

+0

を必要とする結果を持っていますサンプルと期待される出力は役に立ちます – artm

+0

私は '完全結合 'ではなく'左外部結合'を提案していますが、そのクエリは完全にうまく見えます。実際の問題を投稿する必要があります。エラー?不正確な数字? –

+0

結果は表示されますが、1つのフィールドに合計金額は表示されませんが、すべての顧客のリストが表示されます。私は思いついた結果のスクリーンショットで投稿を更新しました。 –

答えて

0

あなたは句によって、あなたのグループに得意先コードしている - それは、得意先ごとに1つの行を生成します - (ORDERBYからも)それを削除し、おそらくあなたは

select count(distinct o.customerid) 'Number of Customers', 
e.EmployeeID 'Employee ID', e.LastName, e.firstname 
from employees e 
full join Orders o 
on e.EmployeeID = o.employeeid 
group by e.EmployeeID, e.LastName, e.firstname 
order by e.employeeid 
+0

大変感謝しました。 –