【发布时间】:2020-09-25 09:17:28
【问题描述】:
我有 3 个关系表:用户、帖子和转发。
在 reposts 表中,我有以下字段:user_id(转发帖子的用户)和 post_id。
在 posts 表中,我有以下字段:id、posts 和 user_id。
在 users 表中,我有字段:id 和 first_name。
这是我想要得到的数据:
- 帖子
- 发帖的原用户
- 记者或转发帖子的用户。
到目前为止我只有这个查询:
SELECT
p.post,
u.first_name as 'Retweeter'
FROM reposts r
LEFT JOIN users u
ON u.id = r.user_id
LEFT JOIN posts p
ON p.id = r.post_id
在该代码中,我可以获取帖子和转发帖子的用户。但是如何使用 reposts 表中的 post_id 字段获取原始用户或发布帖子的原始用户的详细信息?
非常感谢!
【问题讨论】:
-
你加入的顺序很奇怪。从帖子开始,然后离开加入用户等。
-
再次加入用户,但这次是关于帖子和用户之间的关系。
-
转帖可以转帖吗?在这种情况下,您需要原始海报,而不是最后一张海报吗?
-
哦,天哪,我完全忘记了可以转发转发的功能,但我计划在我的帖子表 repost_id 中有另一个字段,我可以在其中存储 repost.id 以区分是否帖子是否转发。