我在 mySQL 数据库中有一个comments
和表。friends
该comments
表包含以下列:
member_id, comment_id, comment, video_id
该friends
表包含以下列:
member_id, member_id_friend
是否有查询以选择特定视频 ID 中您朋友的所有评论?
谢谢!
当您像朋友一样创建表时,它被称为“连接表”。这些用于项目之间的多对多关系。根据您的特定模式的设置方式,friends 表是一个连接表,实现了成员与其他成员(他们的朋友)之间的多对多关系,因此有些人将其称为“自连接表”。
像这样的表被称为连接表,因为从中获取相关数据的方法是将它们“连接”到其他表。这是因为它们本身不包含任何可谈论的真实数据。
如果您试图在多对多关系中获取与个人相关联的集合,则通常使用“内部联接”,它将一个表的结果限制为在联接表中具有匹配项的记录。在这种情况下,它看起来像:
select * from comments c
inner join friends f on c.member_id = f.member_id
where f.member_id_friend = [current user ID]
and c.video_id = [desired video ID]
让我们知道这对您有何帮助。
select comment
from comments
join friends (on comments.member_id = friends.member_id)
where member_id_friend = <id number> & video_id = <video id>;