Базы данных MySQL INNER - Query Help - PullRequest
       1

Базы данных MySQL INNER - Query Help

0 голосов
/ 07 сентября 2011

То, что я пытаюсь сделать, это сделать запрос, чтобы я мог сделать таблицу боев более читаемой.
Таким образом, Fighter 1 извлекает идентификатор 1 из таблицы бойцов, а Fighter 2 делает то же самое.Победитель равен 0, 1, 2. Ноль означает, что это ничья, а затем 1 означает, что Истребитель 1 выиграл, а 2 означает, что истребитель 2 выиграл.

Запрос, который я пробовал до сих пор:

SELECT CONCAT(first_name, ' ', last_name) 'Fighter 1', 
       CONCAT(victory_method.name, ' (', method_notes, ')') 'Victory' 
  FROM fights 
  JOIN fighters ON fights.fighter1_id = fighters.id
  JOIN victory_method ON fights.victory_method_id = victory_method.id

enter image description here

Теперь это хорошее начало, но мне нужно выяснить, как включить в него Fighter 2, а также и Победителя, если он былНичья или боец ​​1 или 2, который выиграл.

1 Ответ

2 голосов
/ 07 сентября 2011

Внутренняя таблица соединения бойцов снова, используя псевдоним as

SELECT 
CONCAT(fo.first_name, ' ', fo.last_name, if (fights.winner=1, "Winner", "Loser")) 'Fighter 1', 
CONCAT(ft.first_name, ' ', ft.last_name, if (fights.winner=2, "Winner", "Loser")) 'Fighter 2', 
CONCAT(victory_method.name, ' (', method_notes, ')') 'Victory' 
FROM fights 
INNER JOIN fighters as fo ON fights.fighter1_id = fo.id
INNER JOIN fighters as ft ON fights.fighter2_id = ft.id
INNER JOIN victory_method ON fights.victory_method_id = victory_method.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...