У меня есть запрос MySQL:
select *
from Movies_Genres
where MovieID = 271
Возвращает следующий набор записей:
ID MovieID GenreID
======================
924 271 8
1251 271 13
Movies_Genres
- это таблица объединения / соединения со связями many-many
.
Теперь, если я выполню этот слегка измененный запрос:
select *
from Movies_Genres
where MovieID = 271
and GenreID <> 13
Я получаю следующий набор записей:
ID MovieID GenreID
======================
924 271 8
Пока все хорошо. Но я пытаюсь добиться, чтобы для этого второго запроса было возвращено 0 записей, если у фильма есть GenreID
из 13
. Итак, тот факт, что в моем запросе выше фильм имеет связанные жанры 13 и 8, я хочу, чтобы 0 записей возвращалось, потому что у фильма был GenreID, равный 13. Если у него был GenreID, скажем, 8, 1 и 2 - тогда Я хотел бы вернуть 3 записи. Если бы он имел GenreID только 13, я хотел бы вернуть 0 записей - что он и так делает правильно. Подводя итог: Любой фильм со связанным GenreID, равным 13, никогда не должен возвращать никаких записей, даже если он также имеет другие связанные GenreIDs .
Как этого достичь?