我有2个表,users
和players
在表格users
中,我有列userid
和username
。
在表格players
中,我有列id
,player1
和player2
。列id
是自动增量主键。 player1
和player2
都是表userid
中users
的外键
我尝试在同一行中同时拥有player1
和player2
个用户名的联接。例如,userid
4有username
Sam,userid
6有username
Kevin。这只是一行查询结果的一个例子:
player1 username player2 username
------------------------------------
4 Sam 6 Kevin
答案 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 * FROMtest_player
为t1 内联接test_user为t1上的t2。player2
= t2.user_id)为res2