У меня есть запрос:Пустой стол с помощью NOT EXISTS
SELECT g.name, s.hour, gs.weekday
FROM schedule s
INNER JOIN group_schedule gs ON gs.schedule_id = s.id
INNER JOIN groups g ON g.id = gs.group_id
WHERE EXISTS (
SELECT *
FROM group_schedule
WHERE group_id =6
)
ORDER BY g.name, gs.weekday
, возвращающих:
name hour weekday
A1-A2 10:00:00 1
A1-A2 17:00:00 1
A1-A2 10:30:00 1
A1-A2 17:30:00 1
A1-A2 18:00:00 2
A1-A2 11:30:00 2
A1-A2 18:30:00 2
A1-A2 11:00:00 2
A1-A2 12:30:00 3
Но мне нужно тоже, чтобы получить строки, которые не имеют этих комбинаций, например:
name hour weekday
A1-A2 10:30:00 1
A1-A2 11:00:00 1
A1-A2 11:30:00 1
...
Если я использую NOT EXISTS, я получаю пустой стол.
Является ли это только мной или является единственным предложением where в вашем первоначальном запросе group_id = 6, и я не знаю, что означает «не иметь этих комбинаций»? –
Итак, вы планируете, что не принадлежат к группе 6? –
Предложение 'exist' не имеет большого смысла. Вероятно, вам лучше, если вы [отредактируете] свой вопрос, чтобы предоставить некоторые образцы данных и ваш желаемый результат. (См. [How to формат SQL-таблиц в переполнении стека post?] (Http://meta.stackexchange.com/q/96125) для добавления некоторых.) –