【问题标题】:How to filter by posts friendship?如何按帖子友谊过滤?
【发布时间】:2013-12-10 01:58:05
【问题描述】:

我目前有两张桌子:

帖子表

post_id     user_id     post_text     post_time
----------------------------------------------------------
1           1           TEXT          2011-10-07 19:07:00
2           2           TEXT          2011-10-07 19:10:00
3           3           TEXT          2011-10-07 19:17:00
4           4           TEXT          2011-10-07 19:23:00
5           3           TEXT          2011-10-07 19:30:00

好友表

friendship_id     friend1_id     friend2_id     status
----------------------------------------------------------
1                 1              2              1 (active friend)
2                 1              3              1 (active friend)
3                 2              3              0 (not friend)
4                 3              4              0 (not friend)
5                 1              4              1 (active friend)

我要做的基本上是获取所有帖子,其中一个用户与另一个用户保持活跃的朋友状态

详细说明:friend1_id 为 1 的用户与friend2_id 2、3 和4 的用户有好友关系。friend2_id 为2、3 和4 的用户发过帖子。如何获取用户 2、3 和 4 发布的所有帖子[因为用户 1 是他们所有人的朋友]?

详细说明:如果您是用户 [1 - 活跃的友谊] 的朋友,则允许获取帖子,否则如果用户没有活跃的友谊,则不要获取任何内容。

我希望我能很好地解释自己,否则我会详细说明。谢谢。

PS:我错过了什么吗?难道我做错了什么?有更简单的方法吗?如果是这样,请告诉我。我想学习。

【问题讨论】:

    标签: mysql sql database database-design relational-database


    【解决方案1】:

    详细说明:

    Select * from Posts 
    where user_id in 
    (select friend2_id from Friends where friend1_id = 1)
    

    详细说明:

    Select * from Posts 
    where user_id in 
    (select friend2_id from Friends where friend1_id = 1 and status = 1)
    

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2022-01-18
      • 2021-10-26
      • 2016-12-24
      • 2016-01-10
      • 2023-04-05
      相关资源
      最近更新 更多