假设您想要的不仅仅是文章的ID:
SELECt a.id ,a.other_stuff FROM articles a JOIN article_category ac ON ac.article_id = a.idGROUP BY a.idHAVINg GROUP_CONCAt(DISTINCT ac.category_id ORDER BY ac.category_id SEPARATOR ',') = '1,2'
如果您想要的只是文章的ID,请尝试以下 *** 作:
SELECt article_id FROM article_category GROUP BY article_idHAVINg GROUP_CONCAt(DISTINCT category_id ORDER BY category_id SEPARATOR ',') = '1,2'
请访问http://sqlfiddle.com/#!2/9d213/4实际 *** 作
还应该补充一点这种方法的优点是它可以支持检查任何数量的类别,而不必更改查询。只需将“
1,2”设置为字符串变量,然后更改传递给查询的内容即可。因此,您可以通过传递字符串“ 1,2,7”来轻松搜索具有类别1、2和7的文章。无需其他联接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)