我有三个表(user、friends、posts)和两个用户(user1 和 user1 和 user1>用户2)。
当user1添加user2为好友时,user1就可以看到user2的帖子,就像在Facebook上一样。但仅限user1添加user2为好友日期之后的帖子。我的查询是这样的:
SELECT * FROM posts p JOIN friends f ON p.userid = f.friendid
AND s.time >= f.friend_since WHERE f.myid='user1id'
然后它会向我提供自添加为好友以来有关 user2 的所有帖子。 但问题是它隐藏了 user1 的帖子,只显示 user2 添加日期后的帖子。
user1 应该可以看到自己的所有帖子以及 user2 的所有帖子,user2 在添加日期之后发布的帖子 friend 。
如何修复它?
最佳答案
您可以使用 UNION
连接另一个查询的结果,如下所示:
SELECT *
FROM posts p
JOIN friends f ON p.userid = f.friendid AND s.time >= f.friend_since
WHERE f.myid='user1id'
UNION SELECT *
From posts p
WHERE p.userid='user1id'
关于mysql - MySQL 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855850/