0

以前、SQL Server でこの SELECT コマンドを作成しました。これは、各部門に含まれる従業員の数をカウントする必要があります。これは私が使用したものです:

SELECT Departments.Description AS [Department], COUNT(Employees.ID) AS [Employees]
FROM Employees 
RIGHT JOIN Departments ON
Employees.DepartmentID = Departments.ID 
GROUP BY Departments.Description

そして、それは正常に機能します(従業員がいない場合でも、部門も表示されます)。

ここで、次のフィルターを使用して、現在働いている従業員のみをカウントします。

WHERE Employees.JobEndDate = null

そして、私はこれをやってみました:

SELECT   Departments.Description AS [Department], COUNT(Employees.ID) AS [Employees] 
FROM Employees 
RIGHT JOIN Departments ON
Employees.DepartmentID = Departments.ID 
WHERE Employees.JobEndDate = NULL 
GROUP BY Departments.Description

しかし、今では結果が得られません。私が間違っていることは何か分かりますか?

ありがとう:)ミッツィ。

4

2 に答える 2

4

フィールドの戻り値が等しいかどうかのテストはNULL、等号ではなく演算子を使用して実行さ=ISます

= null

動作しない場合は、代わりに次のように記述します。

Employees.JobEndDate IS NULL
于 2012-05-27T17:48:45.593 に答える
0
SELECT Departments.Description AS [Department], COUNT(Employees.ID) AS [Employees] FROM Employees RIGHT JOIN Departments ON Employees.DepartmentID = Departments.ID WHERE Employees.JobEndDate = IS NULL GROUP BY Departments.Description
于 2012-05-27T17:52:19.313 に答える