SQL Query查找属于所有选定标签的文章

时间:2011-06-20 09:16:14

标签: sql select

我有3个表,文章,标签和article_tags。通过使用IN()语句找到属于其中一个标签的所有文章并不难。但是,我只需要找到包含所有选定标签的文章......

有什么想法吗? 谢谢, MC

2 个答案:

答案 0 :(得分:2)

假设您有标签ID列表。

您可以传递要检索的标签总数,因此您可以按照获得的标签数量过滤该组:

示例:

SELECT at.article_id
FROM article_tags at
WHERE at.tags_id in (2,3,4)
GROUP BY at.article_id
HAVING count(*) = 3

答案 1 :(得分:0)

假设您的articles表格中有id列,您的tags表格中有id列,而您的article_tags表格至少有两列{ {1}}和article_id,这应该会为您提供包含所有标记的文章ID:

tag_id