Sub queries used for the IN clause can’t return multiple columns, so you can’t have
SELECT reportsTo, COUNT( * ) AS count inside it. You probably want to join the subquery instead, something like this:
SELECT firstName,lastName,temp.count FROM employees INNER JOIN ( SELECT reportsTo, COUNT( * ) AS count FROM employees GROUP BY reportsTo ) temp ON employees.employeeNumber = temp.reportsTo
Disclaimer: I don’t use MySQL so the above syntax may not be exact.
You’ll likely also run into issues trying to use
count as a column name. Either rename it or escape it (SQL Server uses
], not sure about MySQL).