你好,我有一张桌子,里面有学校课程清单。 (schoolcourses) 该表与另一个分配给该课程的教师表(教师)连接在一起。
到目前为止很容易。
复杂的部分在获取教师状态所需的同一查询中。还有另一个名为course_acceptance_history的表。因此,当教师被分配课程时,他接受课程。它会在course_acceptance_history中插入一条记录。
一个insturctor CAN接受,然后拒绝一个课程,然后另一个教练可以接受相同的课程。换句话说,course_acceptance_history可以为同一个课程提供10个条目。
如何在获取所有课程的查询期间从course_acceptance_history中选择课程的最近记录?
这是我的查询看起来像但我认为我需要一个子查询来从course_acceptance_history中仅提取该课程的最高ID和教师ID的记录
实施例
SELECT * FROM schoolcourses
INNER JOIN instructors ON schoolcourses.courseinstructor = instructors.instructorsid
INNER JOIN course_acceptance_history ON schoolcourses.schoolcoursesid = course_acceptance_history.courseid
我想我需要将上面的查询与
合并SELECT * FROM course_acceptance_history WHERE instructorid=$insid AND courseID=$courseID ORDERBY ID DESC
答案 0 :(得分:0)
SELECT * FROM schoolcourses
INNER JOIN instructors ON
schoolcourses.courseinstructor = instructors.instructorsid
INNER JOIN course_acceptance_history ON
schoolcourses.schoolcoursesid = course_acceptance_history.courseid
WHERE course_acceptance_history.id =
(SELECT id
FROM course_acceptance_history
WHERE instructorid=instructors.id
AND courseID=schoolcourses.schoolcoursesid
ORDER BY ID DESC
LIMIT 1)