比较两个mysql表的id不在第二个列表中
我有两张桌子,员工和注册学生 注册学生持有关于哪些学生注册了哪些课程的数据 我需要找出哪些员工没有参加特定的课程,我尝试过这个查询,但没有得到结果比较两个mysql表的id不在第二个列表中,mysql,Mysql,我有两张桌子,员工和注册学生 注册学生持有关于哪些学生注册了哪些课程的数据 我需要找出哪些员工没有参加特定的课程,我尝试过这个查询,但没有得到结果 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 =
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作业。您很接近了。第二个条件需要在on条款中说明: 在您的版本中,只要es.student为NULL,es.pid就为NULL。因此,它不能等于40
我不确定您为什么选择es.student,因为您知道它是空的。这没有按预期工作,它返回的结果不是空的。它返回所有结果。我需要弄清楚的是,员工列表中哪些员工目前没有参加每门课程。。。对于高于pid的一个,pid为40@Josh . . . 也许你应该问另一个问题,包括样本数据、期望的结果和你想要完成的逻辑。我相信这个答案解决了你在这个问题中的具体问题。谢谢你,我问了另一个问题。
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 ;