Mysql Выбрать записи которых нет в таблице исходя из других таблиц

Здраствуйте, есть такая схема бд: Вот часть дампа (структура и таблицы введите сюда описание изображения

Есть квизы к которым прикрепляются ответы через промежуточною таблицу quiz_step_choice А есть групы квизов к которым прикреплятся квизы описанные выше через таблицу quiz_step_group_item.

Столкнулся с трудностю написать запрос который веренет мне:

все групы квызов,в которых квизы прикрепленны к групам, не имеют прикрипленных ответов, которые прикрепленны к конкретному квизу, а так же сами варыанты ответом которые отсутствуют К примеру:

У нас есть квиз пол , там 3 варианта (М,Ж, не определился) и квиз сколько лет варианты(20, 30, 40) И у нас есть 2 групы квизов в которых есть оба этих квиза

В первой групе есть все 3 варианта ответа для каждого квиза Во второй только 2 (М,Ж) для квиза пол и 3 для квиза сколько лет. Так вот мне нужно составить запрос который возвращал бы мне квиз пол, выбор (не определился)

Пытался выбрать такым способом:

SELECT choice.id, qsgi.quiz_step_group_id, qsgci.current_choice_id FROM choice
JOIN quiz_step_choice qsc on choice.id = qsc.choice_id
JOIN quiz_step ON qsc.quiz_step_id = quiz_step.id AND qsc.quiz_step_id = 20
JOIN quiz_step_group_item qsgi on quiz_step.id = qsgi.quiz_step_id
LEFT JOIN quiz_step_group_choice_item qsgci on choice.id = qsgci.current_choice_id

GROUP BY 1,2,3

Но запрос, вместо null, в месте где нету пересичения ставит мне выбор которого на самом деле нет в групе. В моем конкретном случаи, если вы использывали дамп из файла прикрепленного выше, мне нужен choice.id = 94 и quiz_step_group.id = 1. Именно этот вариант присутствует в групу 2 но отсутствует в группе 1


Ответы (0 шт):