Я постараюсь объяснить свой случай как можно лучше.
Я делаю сайт, где вы можете найти темы, просматривая их теги. Ничего странного там нет. У меня есть время на некоторые вопросы. Они могут быть легкими для вас, мой разум довольно испорчен, выполняя много работы: P.
У меня есть таблицы "топики" и "теги". Они объединяются с использованием таблицы tags_topics, которая содержит topic_id и tag_id. Когда пользователь хочет найти тему, он может сначала выбрать один тег для фильтрации, а затем добавить другой в фильтр. Затем я делаю запрос для получения всех тем, которые имеют оба выбранных тегов. У них также могут быть другие теги, но они ДОЛЖНЫ иметь эти теги, выбранные для фильтрации. Количество тегов для фильтрации отличается, но у нас всегда есть список выбранных пользователем тегов для фильтрации.
На это в основном ответили Фильтрация из таблицы соединений , и я выбрал решение для нескольких соединений.
Теперь мне нужно выбрать теги, по которым пользователь может фильтровать. Поэтому, если у нас уже есть определенный фильтр из 2 тегов, мне нужно выбрать все теги, кроме тех, которые в фильтре, связанном с темами, которые включают все теги в фильтре. Это может показаться странным, поэтому я приведу практический пример: P
Допустим, у нас есть три темы: теннис, спортзал и гольф.
Надеюсь, у меня есть смысл. Кстати, я использую MySQL.