2016-06-07 29 views
0
select count(m.emp_id), m.EMP_ID 
from employee e join employee m 
on e.SUPERIOR_EMP_ID = m.EMP_ID 
group by m.EMP_ID; 

我可以得到m.emp_id來顯示,但我需要m.Name。有小費嗎?如何找到一個人並統計他們管理的人數?

+1

這是不可能不知道你的數據庫結構來回答,即使如此,你會收到詳細諮詢如果您有特定的錯誤,請回答問題。 –

回答

1

要查看m.Name,您只需要將m.Name添加到您的SELECTGROUP BY即可。也就是說,我不認爲你的邏輯是對的。你想要一個COUNT(e.Emp_ID),讓每經理員工人數:

SELECT  COUNT(e.Emp_ID), m.Emp_ID, m.Name 
FROM  Employee e 
INNER JOIN Employee m on e.Superior_Emp_ID = m.Emp_ID 
GROUP BY m.Emp_ID, m.Name 

如果你不關心看到經理的員工ID,您可以從您選擇刪除,只需查看名稱:

SELECT  COUNT(e.Emp_ID), m.Name 
FROM  Employee e 
INNER JOIN Employee m on e.Superior_Emp_ID = m.Emp_ID 
GROUP BY m.Name 

也許給它一些別名,所以它更有意義的讀者:

SELECT  mng.Name as "Manager", COUNT(emp.Emp_ID) as "Number of Employees" 
FROM  Employee emp 
INNER JOIN Employee mng on emp.Superior_Emp_ID = mng.Emp_ID 
GROUP BY mng.Name 
+1

謝謝soo! – icecreamguy12

+0

@ icecreamguy12沒有問題..這是否解決了你的問題? –

相關問題