gpt4 book ai didi

php - 扩展查询语句以包括关注的用户

转载 作者:行者123 更新时间:2023-11-29 10:20:16 25 4
gpt4 key购买 nike

我有一个查询,我正在从数据库获取帖子。我有一个 3 表连接来获取帖子、个人资料图片和用户名。当前查询如下。

 SELECT Posts.*, Profiles.ProfilePhoto, Users.Name, Users.Username
FROM ((Posts
INNER JOIN Profiles ON Posts.UserID = Profiles.UserID)
INNER JOIN Users ON Posts.UserID = Users.ID)
WHERE Posts.UserID = ?
ORDER BY Posts.CreateDate DESC

现在我正在从用户的帖子中获取数据(其中 posts.userID = ?)。但我想扩展查询以获取他/她关注的用户的帖子。

这需要我添加类似另一个内部联接之类的内容

INNER JOIN Follow ON Posts.UserID = Follow.Followed (WHERE Follow.Follower = ?) // ? being $userID; 

但这行不通,因为您不能将该 WHERE 语句扔到内部联接的末尾。所以我想知道将其添加到当前查询中的最有效方法是什么?

最佳答案

如果您使用左联接而不是内联接,它可能会起作用

你的左连接会是这样的

left join follow 
on posts.userid=follow.follwed
and follow.follower=?

但是要小心,因为当您添加额外的联接时,它可能会为您提供额外的行(取决于您从 follow 获得的行数)

没有看到图表很难确定

另一种方法可能是这样的?

WHERE (posts.userid=?
OR posts.userid in (select followed from follow
where follower=?))

关于php - 扩展查询语句以包括关注的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49395676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com