У меня есть следующие таблицы:
Все они имеют точно такую же структуру:
uid_local - id of the entity
uid_foreign - id of the tag
Каждый из них сопоставляется с моделью в PHP.
Мне нужно получить связанный контент на основе нескольких тегов. Скажем, я просматриваю "faq" с тегами 1 и 4, мне нужно получить все теги с отметкой 1 или 4, но те, отмеченные обоими, должны быть наверху.
Мне также нужно иметь возможность различать разные объекты, поэтому я могу загрузить их с помощью соответствующей модели в PHP после выполнения запроса.
Как я буду строить этот запрос?
Спасибо!
Я не могу проверить это, потому что я мобилен, но следующее должно сделать трюк:
SELECT uid_local, uid_foreign, count (*) как частота FROM faq_tags WHERE uid_foreign IN (1,4) GROUP BY uid_local ORDER BY frequency DESC