如何选择两个连接的列?

vbopmzt1  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(265)

我有一个包含两列的表:player1\u id和player2\u id-它们与users表中的id链接(主键)
我试图用下面的查询选择用户名,但它给了我两行而不是一行

SELECT users.name, tournaments_results.* FROM tournaments_results JOIN users ON tournaments_results.p1_id = users.id
UNION
SELECT users.name, tournaments_results.* FROM tournaments_results JOIN users ON tournaments_results.p2_id = users.id

如何在结果的一行中相应地选择users.name作为两个不同的列作为name\u player\u 1和name\u player\u 2?

ma8fv8wu

ma8fv8wu1#

使用两个连接:

SELECT tournaments_results.*, u1.name, u2.name
FROM tournaments_results tr LEFT JOIN
     users u1
     ON tr.p1_id = u1.id LEFT JOIN
     users u2
     ON tr.p2_id = u2.id;

它使用 LEFT JOIN ,以防其中一列不匹配。

相关问题