SQL-запрос для master-detail - PullRequest
       10

SQL-запрос для master-detail

2 голосов
/ 09 декабря 2008

Основная таблица содержит ID и PersonName.
Таблица курсов содержит идентификатор, имя курса.
Подробная таблица содержит идентификатор, MasterID, CourseID, StartDate, EndDate

Я хочу создать отчет, который показывает список людей (PersonName) и единственный последний курс, который они прошли (поэтому каждый человек указан только один раз):

PersonName - CourseName - StartDate - EndDate

Ответы [ 2 ]

2 голосов
/ 09 декабря 2008
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
                     )
0 голосов
/ 09 декабря 2008
    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...