gpt4 book ai didi

mysql - 查询以获取用户关注的人的转发

转载 作者:行者123 更新时间:2023-11-30 01:26:24 27 4
gpt4 key购买 nike

我有一张 table posts存储了用户所有的帖子,该表的结构如下

| post_id | post_user | post_content | post_date |

用户表如下

| user_id | username | user_joined |

用户关系表如下

| follower | following | rel_date |

这是我用来获取用户关注的人的帖子以显示他们的查询。

SELECT * FROM posts WHERE post_user in(SELECT follower from user_follow where following=$loggedin_user)

现在我希望用户分享帖子,为此我创建了一个表 repost_user,如下

| repost_user | original_post_user | post_id | repost_date |

我想从用户关注的人那里获取帖子,其中也包括转发。我该怎么做?

编辑:我的结果集应该是什么样子

post_id | post_content | post_user | post_date | is_repost | repost_user | repost_date

例如,如果它是正常的帖子,则行应该看起来像

23 | <some content> | 3 | <post date> | false | null | null |

如果是重新发布,行将是

23 | <some content> | 3 | <post date> | true | 2 | <repost_date> |

最佳答案

这就是你想要的吗?

SELECT post_id,
post_content,
post_user,
post_date,
if(repost_user.post_id is null, 0,1) is_repost,
repost_user,
repost_date
FROM posts
LEFT join repost_user
on posts.post_id=repost_user.post_id
WHERE (repost_user in
(SELECT follower from user_follow where following=$loggedin_user)
or post_user in
(SELECT follower from user_follow where following=$loggedin_user) )
AND posts.post_id IS NOT NULL

关于mysql - 查询以获取用户关注的人的转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945238/

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