我有这个子查询,我收到用户关注的用户的帖子。这是子查询。
$query = "SELECT * FROM `Posts` WHERE UserID IN
(
SELECT Followed FROM `Follow` WHERE Follower = ?
)
ORDER BY PostDate DESC
";
// on bind_param ? will be $userID
这很好但我也希望得到用户自己的帖子,然后从个人资料表中获取数据,这样我就可能会抛弃子查询以进行某种连接。我之前使用过内部联接,但个人资料/帖子表格中有一个共同的ID' UserID'但Follow
表没有。完全加入是否会起作用还是我必须使用AS?
答案 0 :(得分:1)
union
可能是最好的。
SELECT * FROM posts WHERE UserID = ?
UNION ALL
SELECT P.*
FROM posts P
INNER JOIN follow F ON F.followed = P.UserID
WHERE F.follower = ?