0

我在 mySQL 数据库中有一个comments和表。friends

comments表包含以下列:

member_id, comment_id, comment, video_id

friends表包含以下列:

member_id, member_id_friend

是否有查询以选择特定视频 ID 中您朋友的所有评论?

谢谢!

4

2 回答 2

1

当您像朋友一样创建表时,它被称为“连接表”。这些用于项目之间的多对多关系。根据您的特定模式的设置方式,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]

让我们知道这对您有何帮助。

于 2012-04-24T19:17:36.397 回答
0
select comment 
from comments 
join friends (on comments.member_id = friends.member_id) 
where member_id_friend = <id number> & video_id = <video id>;
于 2012-04-24T19:14:01.343 回答