gpt4 book ai didi

mysql - 如何在 MySQL 中使用两个条件进行内部连接

转载 作者:行者123 更新时间:2023-11-29 04:22:35 27 4
gpt4 key购买 nike

我在 mysql 数据库中有两个表,如下所示:

USERS : id, username
POSTS : id, post, poster_id, posted_id

现在我想获取最后 10 个帖子,用户名为 poster_id(写帖子的人)和 posted_id(帖子所在墙的所有者)的用户名

我使用这个查询:

SELECT posts.*,users.username as poster_username FROM posts
INNER JOIN users on posts.poster_id = users.id
ORDER BY timestamp DESC
LIMIT 0,10

但如您所见,我只为 poster_id 获取了一个用户名有没有办法在同一个内部连接语句中获取 posted_id 的用户名??

最佳答案

你应该加入用户两次:

SELECT posts.*,
u1.username as poster_username,
u2.username as posted_username
FROM posts
INNER JOIN users u1 on posts.poster_id = u1.id
INNER JOIN users u2 on posts.posted_id = u2.id
ORDER BY timestamp DESC
LIMIT 0,10

唯一的要求是给每个表分配一个别名

关于mysql - 如何在 MySQL 中使用两个条件进行内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19677205/

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