2008-12-09 145 views
2

主表包含ID和PersonName。
課程表包含ID,CourseName。
詳細信息表包含ID,MasterID,CourseID,起始日期,結束日期主查詢詳細信息

我要創建報告,顯示人(PERSONNAME),他們把唯一的最後一道菜的名單(所以每個人只列出一次):

PERSONNAME - CourseName - 起始日期 - 結束日期

回答

2
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
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