小编典典

SQL查询以选择属于多个类别的帖子

sql

我正在编写类似于博客软件的Web应用程序。有以下三个表

Posts Table: Post_id,Post_Text
Post_Tags Table: Post_id,Tag_id
Tags Table:Tag_id,Tag_name

我很难概念化SQL查询,该查询将返回在给定集中具有“所有”标签的帖子。


阅读 191

收藏
2021-03-23

共1个答案

小编典典

这是关系划分

使用GROUP BYCOUNT或加倍NOT EXISTS

第一种方法的一个例子是。

SELECT pt.Post_id, p.Post_Text
FROM Post_Tags pt
JOIN Posts p ON p.Post_id = pt.Post_id
WHERE pt.Tag_id IN (1,2,3)
GROUP BY pt.Post_id
HAVING COUNT(DISTINCT pt.Tag_id) = 3
2021-03-23