三张桌子:
Employees {EmployeeID, EmployeeName}
Courses {CourseID, CourseName}
TrainingLog {LogID, EmployeeID, CourseID)
课程中还有一个职位,优先考虑的是给以前从未完成课程的人,然后是那些已经完成课程而不是课程的人,然后是任何人。必须填写课程。
是否可以在一个查询中找到相应的员工?
答案 0 :(得分:2)
雅。可以办到。 通过TrainingLog加入有关课程的员工。
一些员工将无法匹配产生NULL courseid。 在DESC首先在列表中对NULL进行排序。
按rownum排名,然后选择第一行。
如果没有第一行,则没有人可以分配给该类。 除此以外, 如果列表中的第一个将是要分配的人。
答案 1 :(得分:1)
基于您要解决的问题,如果您只是单独使用查询来执行此操作,那么您必须使用您的应用程序处理逻辑,或许您希望为此创建存储过程一种条件。