用户表:MySQL的:获取两行作为一个
id | win | lose
0 | 1 | 2
1 | 2 | 8
游戏表:
id | user1 | user2 | data
0 | 0 | 1 | 'some text'
的DB是一个简单的多人游戏。我需要一个查询来获得用户2,数据,和双赢的数据为用户。这在MySQL中可能吗?任何帮助将不胜感激。
用户表:MySQL的:获取两行作为一个
id | win | lose
0 | 1 | 2
1 | 2 | 8
游戏表:
id | user1 | user2 | data
0 | 0 | 1 | 'some text'
的DB是一个简单的多人游戏。我需要一个查询来获得用户2,数据,和双赢的数据为用户。这在MySQL中可能吗?任何帮助将不胜感激。
你必须JOIN
表users
两次这样的:
SELECT
u1.win AS win1,
u1.lose AS lose1,
u2.win AS win2,
u2.lose AS lose2,
...
FROM games g
INNER JOIN users u1 ON g.user1 = u1.id
INNER JOIN users u2 ON g.user2 = u2.id
你可以加入users
表两次:
SELECT
games.user2 AS user2_id
games.data AS games_data
user1.win AS user1_win,
user1.lose AS user1_lose,
user2.win AS user2_win,
user2.lose AS user2_lose
FROM games
JOIN users AS user1 ON user1.id = games.user1
JOIN users AS user2 ON user2.id = games.user2
WHERE games.id = ...
好的,我应该更频繁地刷新,这与马哈茂德贾马尔的 – 2013-02-17 11:48:03
相同的答案,但我很感激它! – 2013-02-17 12:25:09
谢谢,我通过大写所有'AS'关键字来打磨它:-) – 2013-02-17 12:28:47
感谢,don'really知道怎么回事,但它的工作那谢谢啦! – 2013-02-17 12:24:31