Каждый год сотрудник принимает обязательные курсы. Мне нужно получить список сотрудников и их последний законченный курс, например FS (пожарная безопасность). Ниже мой запрос. Проблема заключается в том, что у некоторых сотрудников есть два или три завершенных курса.sql, выбрав самую последнюю завершенную couse с использованием max (название столбца), не работает
Попытка устранения неполадок записи этих сотрудников показывает последний завершенный курс, когда я выбираю только одного сотрудника явно на идентификаторе сотрудника. Что я делаю не так?
Select
h.empno,
p.p_lname,
p.p_fname,
h.classid,
h.course,
h.certcode,
h.startdate,
h.enddate,
h.enrstat
from dbo.nemphist h
join dbo.hrpersnl p
on h.empno=p.p_empno
where h.course='FS'and
-- p.p_empno='99999123'and
p.p_active<>'T' and
p.p_company='XXX'and
h.enrstat='COMP' and
h.startdate in
(Select max(startdate)
from dbo.nemphist h
join dbo.hrpersnl p
on h.empno=p.p_empno
-- h.company=p.p_company
where h.course='FS'and
-- p.p_empno=''99999123''and
p.p_active<>'T' and
p.p_company='XXX' and
h.enrstat='COMP'
Group by h.empno)
order by p.p_lname
Я исправил свой запрос.
Для какой базы данных? –