Mysql多表/多实体相关内容查询

时间:2010-08-26 10:32:31

标签: mysql related-content

我有以下表格:

  • magazine_tags
  • news_tags
  • page_tags
  • content_tags
  • faq_tags

它们都具有完全相同的结构:

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

它们中的每一个都映射到PHP中的模型。

我需要根据多个标签获取相关内容。假设我正在查看标记为1和4的“常见问题解答”,我需要将所有项目标记为1或4,但标记为两者的项目应位于顶部。

我还需要能够区分不同的实体,因此我可以在运行查询后使用PHP中的相应模型加载它们。

我将如何构建此查询?

谢谢!

1 个答案:

答案 0 :(得分:1)

我无法测试它,因为我是移动设备,但以下应该可以解决这个问题:

SELECT uid_local,uid_foreign,count(*)as frequency FROM faq_tags WHERE uid_foreign IN(1,4)GROUP BY uid_local ORDER BY frequency DESC