2014-10-08 71 views
1

我很困惑,使用JOIN - 語句從我的MySQL數據庫中選擇我的數據。 下面是桌子什麼樣子:MySQL - 從一個表中選擇多個行,其ID存儲在另一個表中

Table "Users" 
+----+-------+----------+ 
| ID | Name | Password | 
+----+-------+----------+ 
| 1 | Mike | test  | 
| 2 | Tony | test1 | 
| 3 | Frank | test2 | 
+----+-------+----------+ 

Table "Games" 
+----+-----------+-----------+---------+---------+ 
| ID | Player1ID | Player2ID | ScoreP1 | ScoreP2 | 
+----+-----------+-----------+---------+---------+ 
| 1 |   1 |   2 |  5 |  2 | 
| 2 |   3 |   1 |  2 |  1 | 
+----+-----------+-----------+---------+---------+ 

我想SELECT * FROM GAMES WHERE Player1ID=1 or Player2ID=1加上用戶的名稱,而不僅僅是它們的ID。 有人可以幫助我嗎?

回答

3

加入users表兩次不同的別名爲他們區分它們

select g.*, u1.name as player1, u2.name as player2 
from games g 
join users u1 on u1.id = g.player1id 
join users u2 on u2.id = g.player2id 
+0

我會嘗試,...謝謝!你可以檢查我的編輯。如果想要「SELECT ... WHERE」呢?謝謝 – 2014-10-08 15:02:58

+1

只需將'where'子句添加到此查詢的末尾 – 2014-10-08 15:04:02

+0

它現在可以工作。非常感謝,我會盡快接受你的回答。 – 2014-10-08 15:09:13

相關問題