Основная таблица содержит ID и PersonName.
Таблица курса содержит ID, CourseName.
Подробная таблица содержит ID, MasterID, CourseID, StartDate, EndDate
Я хочу создать отчет, в котором отображается список людей (PersonName) и единственный последний курс, который они прошли (поэтому каждый человек указан только один раз):
PersonName - CourseName - StartDate - EndDate


select m.PersonName, c.CourseName
from Master m
join Detail d on d.MasterID = m.ID
join Course c on c.ID = d.CourseID
where d.StartDate = (select max(d2.StartDate)
from Detail d2
where d2.MasterID = m.ID
)
Select personname,coursename from details
inner join course on course.id = details.courseid
inner join master on master.id = details.masterid
inner join (select max(startdate) , courseid,masterid
from details group by masterid,courseid ) as tb1
on tb1.courseid = details.courseid and tb1.masterid = details.masterid