Итак, вот небольшая справка по системе.Пользователь сражается, и победителем является тот, кто выигрывает больше всего раундов.Мне нужна помощь с возможным объединением трех столов.У меня есть таблица user
, в которой хранится информация о пользователе.Таблица match
, в которой хранится информация о совпадении.Таблица rounds
, в которой хранится победитель каждого раунда за матч, поэтому, если в матче 5 раундов, в таблице rounds
будет пять строк для этого матча, и будет записываться победитель каждого раунда.
Вотнекоторые примеры данных: Таблица user
: (userid
является первичным ключом)
userid username
-----------------
1 Kevin
2 Sam
3 Steve
4 Matt
Таблица match
: (id
является первичным ключом. challenger
и challenged
обавнешние ключи для user.userid
)
id challenger challenged rounds
-----------------------------------
1 2 3 3
2 1 2 1
3 2 3 3
4 2 4 1
Таблица rounds
: (все поля являются первичными ключами. id
является внешним ключом для match.id
, а winner
является внешним ключом для user.userid
)
id round winner
------------------
1 1 2
1 2 2
1 3 3
2 1 1
3 1 2
3 2 3
3 3 2
4 1 4
Я пытаюсь создать запрос, который выдаст следующие результаты:
winner won loser won
------------------------
Sam 2 Steve 1
Kevin 1 Sam 0
Sam 2 Steve 1
Matt 1 Sam 0
Приведенные выше результаты показывают победителя и проигравшего в каждом из матчей.Поле won
показывает количество раундов, выигранных за этот матч для победителя и проигравшего соответственно.
Кто-нибудь знает, как я могу построить вышеуказанный запрос?