-1

マネージャーの名前と管理している人数をリストするクエリを作成しようとしています。

Managerテーブルには、マネージャnameとがありidます。

Employeeテーブルには、従業員nameidおよびがありmanagerIDます。

マネージャーが管理している従業員の数を取得する方法がわかりません。

4

4 に答える 4

2
SELECT COUNT(e.EmpID), m.ManagerID
FROM Employee e
INNER JOIN Manager m 
ON e.ManagerID= m.ManagerID
GROUP BY m.ManagerID
于 2012-09-17T20:33:05.537 に答える
0
SELECT count(emp.empid), mgr.managerid
FROM Employee emp
INNER JOIN Manager mgr ON emp.managerid=mgr.managerid
GROUP BY mgr.managerid;
于 2012-09-17T20:39:23.087 に答える
0

JOIN で COUNT アグリゲーターを使用できるかどうかはわかりません。ただし、2 つのクエリを実行できます。マネージャーの名前と ID を選択します。2番目は次のようになります。

$id = マネージャーの ID

SELECT COUNT(*) FROM Employee WHERE managerID=$id

または、COUNT を使用して次のようなクエリを実行することはできません。

SELECT id FROM Employee WHERE managerID=$id

結果の行数は、マネージャーが管理する従業員の数になります。

于 2012-09-17T20:45:40.193 に答える
0
SELECT m.Name, COUNT(e.id) AS NumberOfEmployeesManaged
FROM Manager m INNER JOIN Employee e ON m.id = e.managerID
GROUP BY m.Name

マネージャーと従業員のテーブルに参加した後の従業員IDの単純なカウントで、マネージャー名でグループ化されているはずです。

于 2012-09-17T20:36:56.447 に答える