Валентин, пфффф, в гнойник лучше и не идти
да-да, знаю, что во времена ЧС/карантина на казенные деньги налогоплательщиков протянуть проще, и все же гниль есть гниль
знакомый такой же есть... просто не идет в глубь предмета -- вся причина
надо бы изучить основы программирования, освоить ООП и фреймворк и хлоп, все идеи уже почти подтолкнутся, но нет -- 4 года сидит с версткой и "идеями"
SELECT o.id, o.name
FROM tags_offers AS to
LEFT JOIN offers AS o ON o.id=to. offers_id
GROUP BY o.id
HAVING count(*) = (SELECT count(DISTINCT id) FROM tags) -- выбираем все оригинальные теги
НЕ проверял работоспособность...
и еще в запросе заложена идея, что сочетания в tags_offers уникальны, то есть нет повторных записей с одной и той же связью