У меня есть две таблицы: "members_info" и "members_lesson".
Допустим, в members_info у меня есть поля member_id, first_name, last_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)
Это работает, но я не уверен в производительности. Это нормально? Спасибо!