我有一张桌子叫reviews
. 我得到最新的用户评论是这样的:
SELECT b.item, b.item_id, a.review_id, a.review, c.category, u.username, c.cat_id
FROM reviews a
INNER JOIN items b
ON a.item_id = b.item_id
INNER JOIN master_cat c
ON c.cat_id = b.cat_id
INNER JOIN users AS u
ON u.user_id = a.user_id
ORDER BY a.review_id DESC;
我想要做的是稍微改变它,使其对用户更人性化。
我有另一个用户“连接”表。有点像推特。当用户关注某人时,它会登录到名为profile_follow
. 这有三列。 id
, user_id
, follow_id
. 简单地说:如果我是用户 #1,并且我“关注”用户 #3 和用户 #5,则此表中将添加两行:
profile_follow
------------------------
id | user_id | follow_id
| 1 | 3
| 1 | 5
这是我想要更改上面的查询的方式。我只想显示您关注的人的最新评论。
因此,对于 table ,我至少需要一个连接profile_follow
。而且我需要传入一个 user_id(它是一个php
函数),执行类似 `WHERE profile_follow.user_id = '{$user_id}' 之类的操作。我想我将不得不对此添加一个子查询,而不是使用。
有人可以告诉我如何完成这个查询吗?我不知道如何从这里处理它?到目前为止,我所有的尝试都失败了。
我想我需要做类似的事情:
Select
follow_id 用户where
ID= (logged in user)
然后在主查询中:
Select reviews only with profile_follow.follow_id = review.user_id.
我不知道如何使这个过滤器工作。