У меня есть оператор sql, который извлекает данные из нескольких таблиц. Этот запрос получает информацию о всех сотрудниках и их биографии c (идентификатор сотрудника, имя, фамилия, изображение значка и т. Д. c.):
SELECT
e.ID as id,
e.DateTimeCreated as dateTimeCreated,
e.FullTime as fullTime,
bi.FirstName as firstName,
bi.LastName as lastName,
bi.MiddleName as middleName,
bi.DateOfBirth as dateOfBirth,
bi.PlaceOfBirth as placeOfBirth,
fr.Thumbnail as thumbnail
FROM employee e
LEFT JOIN biographicinfo bi
ON e.ID = bi.employeeId
LEFT JOIN facialraw fr
ON e.ID = fr.EnrollmentId
AND fr.CaptureAngle = 2
GROUP BY e.ID
Теперь есть еще одна таблица, скажем , EmployeeDiscrepencies, на которые я хотел бы рассчитывать:
select count(1) as "Discrepencies" from EmployeeDiscrepencies ed where ed.employeeId = 2;
Я хотел бы добавить этот оператор подсчета в свой исходный запрос, когда собираю всех сотрудников, но не могу понять, как это сделать. Я хотел попробовать что-то вроде этого:
SELECT
e.ID as id,
e.DateTimeCreated as dateTimeCreated,
e.FullTime as fullTime,
bi.FirstName as firstName,
bi.LastName as lastName,
bi.MiddleName as middleName,
bi.DateOfBirth as dateOfBirth,
bi.PlaceOfBirth as placeOfBirth,
fr.Thumbnail as thumbnail,
ed.count(1), -- need a "where" clause here
FROM employee e
LEFT JOIN biographicinfo bi
ON e.ID = bi.employeeId
LEFT JOIN facialraw fr
ON e.ID = fr.EnrollmentId
LEFT JOIN EmployeeDiscrepencies ed
on e.ID = ed.employeeID
AND fr.CaptureAngle = 2
GROUP BY e.ID
Как вы можете догадаться, это не работает
Как мне go выполнить это?