MySQL选择多对多的位置

MySQL选择多对多的位置,第1张

MySQL选择多对多的位置

假设您想要的不仅仅是文章的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的文章。无需其他联接。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5640386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存