Mysql multi-table / multi-entity-related content query - PullRequest
0 голосов
/ 26 августа 2010

У меня есть следующие таблицы:

  • magazine_tags
  • news_tags
  • page_tags
  • content_tags
  • faq_tags

Все они имеют одинаковую структуру:

uid_local - id of the entity
uid_foreign - id of the tag

Каждый из них сопоставляется с моделью в PHP.

Мне нужно получить связанный контент на основенесколько тегов.Скажем, я просматриваю "faq", помеченный 1 и 4, мне нужно, чтобы все элементы были помечены 1 или 4, но те, которые помечены обоими, должны быть вверху.

Мне также нужно бытьЯ могу различать разные объекты, поэтому я могу загрузить их, используя соответствующую модель в PHP после выполнения запроса.

Как мне будет построить этот запрос?

Спасибо!

1 Ответ

1 голос
/ 26 августа 2010

Я не могу проверить это, потому что я мобильн, но следующее должно сделать трюк:

ВЫБРАТЬ uid_local, uid_foreign, считать (*) как частоту ОТ faq_tags ГДЕ uid_foreign IN (1,4) GROUP BY uid_local ORDER BY по частоте DESC

...