我正在为我的数据库类做一个小任务。 我需要编写一个sql查询来列出所有员工经理的姓氏,然后列出他们管理的员工数量。 这是将员工插入表中的命令如下所示:
INSERT INTO Employee (Emp_No, Emp_Fname, Emp_Lname, Emp_Status,
Emp_Salary, Emp_Comm, Emp_HireDate, Emp_Mgr_Emp_No, Job_Title, Dept_No)
VALUES (7566, 'Mary', 'Jones', 'active', 2975, NULL, '02-APR-92', 7839,'Manager', 20);
这是我目前查询的内容:
SELECT emp_lname, COUNT(emp_no) "No_of_Employees"
FROM Employee
WHERE job_title = ('Manager', 'President')
AND emp_mgr_emp_no IS NOT NULL
GROUP BY emp_lname
其中包含以下内容:
EMP_LNAME No_of_Employees
Blake 1
Clark 1
Jones 1
我如何修改它以列出每位经理的员工人数(包括管理3位经理的总裁)。
答案 0 :(得分:0)
使用嵌套查询获取该特定员工管理的员工列表,并计算记录数。
SELECT emp_lname, sum(select count(emp_no) FROM Employee B WHERE B.Emp_Mgr_Emp_No = A.emp_no) AS 'Count' FROM Employee A
这样的事情应该有效