次のスクリプトでは、部門の名前とそれらの部門に属する従業員の数を返す必要があります。マーケティング部門、エグゼクティブ部門、営業部門には従業員が0人で、 'の場合、戻り値は' 1 'です。どうすれば修正できますか?間違った答えを返すSQL COUNT(*)
select Department, Departments.DepartmentID, count(*) as 'NumOfEmps'
from Departments
left join Employees
on Employees.DepartmentID = Departments.DepartmentID
group by Departments.DepartmentID,Department
を得るでしょう、あなたが使用しているので、それは1を返しますたとえEmployeesテーブルに何もない場合でもDepartmentsテーブルにレコードがある場合はもちろん行を返します。 (@Yuckは、私の答えの残りの部分を投稿しました。なぜなら、彼は私にそれを打ち負かしていたからです。 ) – David
@DavidStratton 'COUNT 'のみが' *'以外のものを受け入れる場合 –
幸いです、@Conrad Frix – David