Um zu sehen, auch m.Name
, brauchen Sie nur m.Name
GROUP BY
zu Ihrem SELECT
und hinzuzufügen. Das heißt, ich denke nicht, dass deine Logik richtig ist. Sie wollen eine COUNT(e.Emp_ID)
die Anzahl der Mitarbeiter pro Manager zu erhalten:
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
Wenn Sie nicht über kümmern sich der Manager-Mitarbeiter-ID zu sehen, können Sie das von Ihrem wählen entfernen und sehen einfach den Namen:
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
und vielleicht gebe es einige Aliase, so dass es mehr Sinn, einen Leser macht:
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
dies nicht möglich ist, ohne zu beantworten Ihre Datenbankstruktur zu kennen, und selbst dann, würden Sie mehr Deta erhalten gefilterte Antworten, wenn Sie einen spezifischen Fehler haben. –