从多个组id抓取所有帖子

  • 本文关键字:抓取 id mysql
  • 更新时间 :
  • 英文 :


我正在尝试开发类似社交网络的东西,我有一个新闻推送,我想显示用户加入的特定群组的所有帖子,基本上是

我有三张这样的桌子

------------------
Users Table
------------------
user_id
user_name
__________________
Groups Table
------------------
group_id
group_name
------------------
Posts Table
------------------
post_id
group_id
user_id
post_post
------------------

例如,user1加入了group1和group3,我想从group1和group3中选择所有帖子。就是这样。谢谢

要做到这一点,您需要一个新表(来自上面的注释(:

创建一个具有列的新表

user_id | group_id | <other attributes for this relationship> 

这些其他属性可能是create_date和active,或者你有什么。

然后,当user1加入group3时,您将其写入表中:

INSERT INTO user_group (user_id, group_id, create_date) VALUES (1, 3, '2022-10-03');

这时,您可以通过在子查询中使用这个新表限制posts表中的记录来解决原来的问题:

SELECT * 
FROM posts 
WHERE group_id IN 
(SELECT group_id FROM user_group WHERE user_id = 1);

最新更新