所以我设置了两个表:
=========================
| Shares |
=========================
| user_id | other stuff |
=========================
| 1 | bla bla bla |
| 2 | bla bla bla |
=========================
=====================================
| Followers |
=====================================
| id | follower_id | following_id |
=====================================
| 1 | 7 | 1 |
| 2 | 7 | 2 |
=====================================
我想要做的是创建一个显示“分享”的Feed,但仅限于您关注的人。理想情况下,我也希望通过一个查询来执行此操作。
这是我尝试的(显然是不正确的)事情。为了这个例子,假设:user_id是当前用户(或跟随者)的ID。
select * from shares where count(select * from followers where follower_id = :user_id and following_id = share.id) > 0
答案 0 :(得分:2)
您可以使用以下内容加入表格:
select s.* from shares s, followers f
where f.follower_id = :user_id
and s.user_id = f.following_id
那是使用隐式连接语法,很多人更喜欢显式变体,但在这个简单的情况下并不是真的有必要。