【发布时间】:2012-04-27 18:11:47
【问题描述】:
假设我有一个Person 表和一个Courses 表。在Person 表中,我有PersonName 列。在Courses 表中,假设我有CourseTitle、PersonName 和CourseDifficulty。 CourseDifficulty 是 1-4(4 是最难的)。我如何返回来自Person 的人员列表,并且每个人都有一个列显示他们正在通过CourseTitle 参加的最困难的课程。
据我所知,我会通过执行以下操作来获得 Brett 上最难的课程的 CourseTitle:
SELECT CourseTitle
FROM Courses
WHERE PersonName = 'Brett'
AND CourseDifficulty = (SELECT MAX(CourseDifficulty)
FROM Courses
WHERE PersonName='Brett')
但是如何为 Person 表中的每个人运行它?我希望结果类似于
Brett-SQL For Dummies 4
Tim-Quantum Mechanics
Jane-Thermodynamics 2
对不起,菜鸟。提前感谢您的帮助!
【问题讨论】:
-
如果学生有超过 1 门“最难的课程”,您希望发生什么。 (哦,这是作业吗?)
-
不,这是为了工作。我有一个更复杂的场景,但这是我在最基本的层面上需要做的。在这种情况下,没有人会选择任何两门难度相同的课程