在同一个sql连接中获取2个不同的记录行

时间:2014-05-16 23:27:11

标签: mysql sql join

我有两张桌子:

用户

  • id_user
  • 名称
  • picture_url

匹配

  • id_match
  • date_match
  • id_user_winner
  • id_user_loser

查询应该会为我提供 users.id_user = 3 成为赢家的匹配列表。问题是查询应该同时带来胜利者和输家的名字和picture_url。

当前查询是:

SELECT u.name, u.picture_url, m.id_user_winner, m.id_user_loser, m.date_match FROM matches AS m
INNER JOIN users AS u ON u.id_user = m.id_user_winner WHERE u.id_user = 3

但这只会让我得到胜利者的名字和图片。我也需要失败者的名字和图片。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

SELECT u.name
     , u.picture_url
     , m.id_user_winner
     , m.id_user_loser
     , e.name
     , e.picture_url
     , m.date_match 
FROM matches m JOIN users u ON u.id_user = m.id_user_winner AND u.id_user = 3
               JOIN users e ON e.id_user = m.id_user_loser