mysql - 多次加入同一张 table

标签 mysql sql

我可能有点笨,希望有人能提供帮助。

我有一个简单的 2 列用户表(ID、USERNAME)。
我有一个图像评论表(COMMENT、COMMENTFROM、COMMENTTO)

COMMENTFROM 是发表评论的用户的 ID。 COMMENTTO 是添加评论的图像所有者的 ID。两个用户都保存在 USERS 表中。

我想拉出并显示这样的行

"really nice photo" - to USERXYZ - from USER123**

这让我感到困惑,因为如果我将 USERS 表加入到评论表中:

WHERE comments.userfrom = users.id

这只会让我获得每行所需的 2 个用户名中的一个(或另一个)。有没有办法让我同时获得两者?

我什至不确定如何在 SOF 上搜索这个答案,如果之前有人回答过,我深表歉意。如果有人能指出我正确的方向,我将不胜感激:)

最佳答案

您需要 JOINusers表两次,并在每个 JOIN 上给它们不同的标识符(又名别名)在你的 SQL 中。

SELECT 
    comment, 
    userFrom.username AS commentFrom,
    userTo.username AS commentTo
FROM comments 
JOIN users AS userFrom ON userFrom.ID = comment.commentFrom
JOIN users AS userTo ON userTo.ID = comment.commentTo

关于mysql - 多次加入同一张 table ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139554/

相关文章:

PHP/MySQL - 排序行

php - 检测 YouTube channel 是否存在,如果出现错误则不显示?

mysql - 排名分数 Leetcode #178

c# - 加密 SQL 连接字符串

sql - 在Delphi 7中运行更新查询时,如何解决封闭数据集错误?

mysql - 带外键的 SQL 条件

java - SQLite 'INSERT OR REPLACE INTO' 不正确的行为

php - 如何按字母顺序对mysql结果进行分组?

c# - 从类型注释列表中获取不同的值

mysql - 通过 2 个连接获得比预期更高的结果