Не то, чтобы Майкл отвечал неправильно, но использование запятых в предложении FROM
полностью не рекомендуется.Итак, я даю альтернативные ответы.
Во-первых, правильный способ написания запроса в XXI веке:
SELECT et.jobName, COUNT(*)
FROM Employee e JOIN
EmployeeType et
ON e.jobID = et.jobID
GROUP BY et.JobName
HAVING COUNT(e.jobID) > 2;
Также обратите внимание на использование псевдонимов таблиц.
Если JobName
уникален в EmployeeType
, то вы можете использовать коррелированный подзапрос:
select et.jobName,
(select count(*)
from employee e
where e.jobId = et.jobId
) as cnt
from employeeType;
Затем вы будете использовать подзапрос для фильтрации по нужным подсчетам..