首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >master-detail的SQL查询

master-detail的SQL查询
EN

Stack Overflow用户
提问于 2008-12-09 11:50:12
回答 2查看 5.9K关注 0票数 2

主表包含ID和PersonName。

课程表包含ID、CourseName。

明细表包含ID、MasterID、CourseID、StartDate、EndDate

我想创建一个报告,显示人员列表(PersonName)和他们上过的唯一课程(这样每个人只列出一次):

PersonName - CourseName - StartDate - EndDate

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-12-09 11:56:18

代码语言:javascript
运行
复制
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
                     )
票数 2
EN

Stack Overflow用户

发布于 2008-12-09 12:20:05

代码语言:javascript
运行
复制
    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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/352503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档