2

ユーザー テーブル:

id  |   win  |   lose
0   |   1    |   2
1   |   2    |   8

ゲームテーブル:

id  |  user1  |  user2  |  data
0   |  0      |  1      |  'some text'

DB は単純なマルチプレイヤー ゲーム用です。両方のユーザーのuser2、data、および win-lose データを取得するためのクエリが必要です。これはMySQLでまったく可能ですか? どんな助けでも大歓迎です。

4

2 に答える 2

4

次のように 2 回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
于 2013-02-17T11:40:10.607 に答える
1

usersテーブルに 2 回参加できます。

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-17T11:46:17.327 に答える