我的 SQL 查询可能有问题。在这个查询中,我组合了 4 个不同的表。
- 我有一个
courses
存储一般信息的表(course_number
,course_title
)。 - 我有一张表
employees
,其中存储了员工的一般信息(empname
和 ajob_id
)。 - 员工有工作。员工需要参加课程。这取决于他必须参加哪些课程。此信息存储在表中
job_course
(带有job_id
和course_id
)。 - 如果员工完成了课程,则将其存储在表中
emp_courses
(带有e_id
和course_id
)
现在我想搜索某个课程 - 当用户按下搜索按钮时,他应该得到两个不同的结果。
- 第一个:在这里你可以看到哪个员工已经上过这门课程(这个查询到目前为止有效)
- 第二个:在这里你可以看到哪个员工还需要参加课程。所以我需要检查该员工从事的工作以及他是否需要参加该课程。而且我只想拥有那些尚未完成的。这就是不起作用的查询
这里是:
OpenDb_Open("select course_number,course_title, empname from course
INNER JOIN (job_course INNER JOIN (employee INNER JOIN emp_course
ON emp_course.e_id<>employee.e_id) ON job_course.job_id=employee.job_id)
ON course.course_id=job_course.course_id
where course_number like '" + coursenumber + "'");
有人可以帮我吗?