如何执行简单的连接

时间:2011-11-21 06:03:10

标签: mysql sql join

我有2个表,usersplayers

在表格users中,我有列useridusername。 在表格players中,我有列idplayer1player2。列id是自动增量主键。 player1player2都是表useridusers的外键

我尝试在同一行中同时拥有player1player2个用户名的联接。例如,userid 4有username Sam,userid 6有username Kevin。这只是一行查询结果的一个例子:

player1  username  player2  username
------------------------------------
   4        Sam       6       Kevin

4 个答案:

答案 0 :(得分:1)

只要每次都有唯一的别名,就可以多次加入一个表:

select p1.userid, p1.username, p2.userid, p2.username
from players p
join users p1 on p.player1 = p1.userid
join users p2 on p.player2 = p2.userid
where ...

答案 1 :(得分:1)

SELECT Player1, u1.UserName, Player2, u2.UserName
FROM Players, Users u1, Users u2
WHERE Player1=u1.userid and
Player2=u2.userid

答案 2 :(得分:0)

select a.userid, a.username, b.userid, b.username from players p join users a on p.player1 = a.userid join users b on p.player2 = b.userid where -------

答案 3 :(得分:0)

试试这个

  

从中选择res1.player1,res1.user_name,res2.player1,res2.user_name   (SELECT * FROM test_player作为t1内部联接test_user为t2 on   t1。player1 = t2.user_id)为res1,(SELECT * FROM test_player为t1   内联接test_user为t1上的t2。player2 = t2.user_id)为res2