我的SQL查询可能有问题。在此查询中,我合并了4个不同的表。
courses
course_number
course_title
employees
empname
job_id
job_course
course_id
emp_courses
e_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 + "'");
有人可以帮我吗?
员工未参加的课程。
SELECT * FROM courses WHERE course_number IN ( SELECT course_id FROM job_course WHERE course_id NOT IN ( SELECT course_id FROM emp_courses WHERE emp_id = {someid} ) AND job_id = ( SELECT job_id FROM employees WHERE emp_id = {user_input} ) )
哪些员工仍需要参加课程。
SELECT emp_name FROM employees WHERE emp_id NOT IN ( SELECT emp_id FROM emp_courses WHERE course_id = {user_input} )
上面的变种。
SELECT emp_name FROM employees WHERE emp_id NOT IN ( SELECT emp_id FROM emp_courses WHERE course_id = ( SELECT course_id FROM courses WHERE course_number = {user_input} ) )