J
Мой работает, но мне он кажется корявым:
WITH temp AS (
SELECT COUNT(*) AS tags_count
FROM tags
)
SELECT goods.id, goods.name
FROM goods
JOIN tags_goods
ON goods.id = tags_goods.goods_id
CROSS JOIN temp
GROUP BY goods.id
HAVING COUNT(tag_id) = tags_count;
Здесь мне нужно выбрать все товары, у которых есть все теги. Таблиц три: товары, тэги и связка.

