У меня есть 3 таблицы:
история
идентификатор, название
отношение категории
storyId , categoryId
категория
id, title, спокойствие (логическое значение 1 и 0)
Я хочу показать все истории, которые имеют категорию с значение 0 для спокойного
Я могу это сделать, но я не хочу, чтобы запрос показывал истории с категориями со спокойным = 0 и спокойным = 1
Или лучше: только показывать НЕ спокойный истории, то есть не показывать историю, если какая-либо ее категория имеет значение 1 в спокойном поле
То, что у меня сейчас есть:
SELECT s.id, s.title, c.title, c.calm FROM story s LEFT JOIN categoryrelation
cr ON (cr.storyId = s.id) LEFT JOIN category c ON (cr.categoryId = c.id AND
(c.calm = 0 AND c.calm != 1)) WHERE s.parentStory IS NULL AND s.active = 1
ORDER BY s.id DESC LIMIT 0, 100
Это работает, но также выводит истории с категория со спокойной = 1
Выборка данных:
история
1, тестовая
2, другая история
категория отношения
1, 1
1, 2
1, 3
2, 4
категория
1, тайна, 0
2, триллер, 0
3, романтика, 1
4, ужас, 0
Ожидаемый результат:
2, другая история
Любая помощь приветствуется.
Спасибо!