我有两个表:“members_info”和“members_lesson”。Mysql查询,看看一个成员是否已经完成了课程
让我们在members_info我已经等领域member_id,FIRST_NAME说,姓氏 在members_lesson我已经members_lesson_id,lesson_id,member_id
我想创建一个查询在那里我可以看到,已经做了一个教训,但还没有成员做了另一个。我试过这个查询:
SELECT members_info.member_id
FROM members_info
JOIN member_lessons ON members_info.member_id = member_lessons.member_id
WHERE member_lessons.lesson_id =6 AND member_lessons.lesson_id !=7
但是那个查询不起作用。当我只检查会员是否已经完成了一课时,它就起作用,但是如果我想查看会员是否没有做另一个,它就不起作用。有任何想法吗?谢谢!
编辑 -
我尝试这样做:
SELECT members_info
FROM members_info
WHERE member_id IN (SELECT member_id FROM member_lessons WHERE lesson_id = 6)
AND member_id NOT IN (SELECT member_id FROM member_lessons WHERE lesson_id = 7)
它的工作,但林不知道有关性能。那样好吗?谢谢!
自6 <7它会工作,但在它将更通用的使用“不存在” – alfasin 2012-02-02 19:17:33