Добрый день.
Пишу фильтр постов, и столкнулся с большой проблемой. Фильтровать посты можно по юзеру, дате, статусу, тегам. С последним и возникла проблема. У меня есть промежуточная таблица postTags. У нее следующие колонки:
id
post_id
tag_id
Фильтрую пока вот так:
SELECT p.*, u.name FROM posts p
LEFT JOIN users u ON u.id = p.user_id
LEFT JOIN postTags pt ON pt.post_id = p.id
WHERE p.user_id = 4
AND pt.tag_id IN (3,5,7)
Разумеется, мне показываются посты, которые присутствуют хотя бы в одном из тегов с айди 3, 5, 7.
Но необходимо чтобы пост ОБЯЗАТЕЛЬНО был с тегами, у которых айди 3, 5, 7. Если хотя бы одного из этих тегов нет - значит пост не подходит под условия.
Перекопал документацию, но что-то никаких аналогов IN я не нашел...видел какой-то пример с having count, но что-то совсем его не понял...