![](/img/trans.png)
[英]mysql :How to select two different column values from a single table using two different values of another table
[英]How to select two different values from a table with different conditions in mysql?
我有兩張桌子:
userdata
guidUser username
-----------------
12 plr1
13 plr2
14 plr3
15 plr4
games
id guidUser1 guidUser2
-------------------------
1 12 13
2 15 14
我想根據他們的guid從同一個userdata表中選擇玩家的名字。
我想要獲得的結果是:
id guidUser1 username guidUser2 username2
--------------------------------------------
1 12 plr1 13 plr2
2 15 plr4 14 plr3
如果價值只是我能做的一個
SELECT g.id, g.guidUser1, u.username, g.guidUser2 from games g, userdata u WHERE g.guidUser1=u.guidUser1
但我怎么能獲得第二個用戶名'username2'?
您可以嘗試下面 - 使用多個userdata表實例的連接
SELECT g.id, g.guidUser1, u.username, g.guidUser2 u1.username as username2
from
games g inner join userdata u on g.guidUser1=u.guidUser
inner join userdata u1 on g.guidUser2=u1.guidUser
您可以通過第二次加入userdata表來完成此操作。
注意我使用了現代的INNER JOIN語法,以便更清楚地應用join子句。 我建議您應盡可能使用現代語法,以使您的代碼更清晰,更清晰。
SELECT
g.id,
g.guidUser1,
u1.username AS username1,
g.guidUser2,
u2.username AS username2
FROM
games g
INNER JOIN userdata u1
ON g.guidUser1 = u.guidUser
INNER JOIN userdata u2
ON g.guidUser2 = 2.guidUser
你可以加入兩次。 每個加入userdata
表都會帶來一個用戶名:
SELECT
g.id,
g.guidUser1,
u1.username,
g.guidUser2,
u2.username AS username2
FROM games g
INNER JOIN userdata u1
ON g.guidUser1 = u1.guidUser
INNER JOIN userdata u2
ON g.guidUser2 = u2.guidUser;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.