所以我有一个由帖子和类别组成的数据库,使用下表
然后我有另一张表将两者连接起来,如下所示
我想知道如何为以下命令创建SQL查询:
一个。创建SQL查询以使用MULTIPLE CATEGORIES填充单个POST 湾搜索包含多个类别
的所有帖子ex。创建名为“Post1”的帖子,其类别为“Digital”,“Analog”,“Linear” 前b。搜索包含分类“数字”和“线性”的所有帖子
非常感谢您的帮助。
答案 0 :(得分:0)
我不知道我是否完全得到了您的问题,但下面的查询应该返回多对多表中的那些条目,这些条目对于单个postId具有多个categoryId。如果这有帮助,请告诉我:
select *
from posts_categories pc
join (
select postId
from posts_categories
group by postId
having count(categoryId) >1
) x on x.postId = pc.postId
此外,对于postId和categoryId列,您应该对此表具有唯一约束,或者将其作为主键。
答案 1 :(得分:0)
如果您正在讨论获取数据,请使用链接表在表之间进行连接。像下面的东西
select p.PostName, c.CategoryName
from posts p inner join post_categories pc on p.PostID = pc.PostID
inner join categories c on c.CategoryID = pc.CategoryID
where c.CategoryName in ('Digitl','Linear')