如何选择两个连接列?

时间:2018-05-06 18:33:02

标签: mysql sql

我有一个包含两列的表格: player1_id和player2_id - 它们与用户表(主键)中的id链接

我正在尝试使用下面的查询使用他们的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_player_1和name_player_2这两个不同的列?

1 个答案:

答案 0 :(得分:2)

您使用两个联接:

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