0

所以我有两个表设置:

=========================
|        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            |
=====================================

我想做的是创建一个显示“共享”的提要,但仅限于您关注的人。理想情况下,我也想用一个查询来做到这一点。

这是我尝试过的(显然不正确的)事情。为了这个示例,假设 :user_id 是当前用户(或关注者)的 ID。

select * from shares where count(select * from followers where follower_id = :user_id and following_id = share.id) > 0
4

1 回答 1

2

您可以通过以下方式加入表格:

select s.* from shares s, followers f
where f.follower_id = :user_id
  and s.user_id = f.following_id

那是使用隐式连接语法,许多人更喜欢显式变体,但在这种简单的情况下,它并不是真正必要的。

于 2013-08-21T02:26:01.713 回答