我有两名员工和报名学生。
注册学生掌握有关哪些学生注册参加哪些课程的数据。
我需要找出哪些员工没有参加特定课程,我已经尝试过这个问题并且没有运气得到结果。
SELECT e.user_id
, e.full_name
, es.student
FROM employees e
LEFT
JOIN enrolled_students es
on e.user_id = es.student
WHERE e.level = 3
and es.pid = 40
and es.student is NULL
获得结果后,我将使用PHP添加尚未添加到课程中的每个学生。这将被设置为每日cron工作。
答案 0 :(得分:1)
你很亲密。第二秒的条件需要进入ON
子句:
SELECT e.user_id, e.full_name, es.student
FROM employees e LEFT OUTER JOIN
enrolled_students es
ON e.user_id = es.student AND es.pid = 40
WHERE e.level = 3 AND es.student IS NULL ;
在您的版本中es.pid IS NULL
每当es.student IS NULL
。因此,它不能等于40。
我不确定您选择es.student
的原因,因为您知道它是NULL
。