Как сделать MySQL запрос на выборку для таблицы с двумя столбцами внешних ключей, которые относятся к другой таблице имен - PullRequest
0 голосов
/ 30 июня 2019

У меня есть две таблицы, таблица A имеет два столбца внешнего ключа (div_player1_id, div_player2_id), а Table B имеет первичный ключ, который относится к внешним ключам в Table A.Я пытаюсь написать запрос на выборку, который выведет имена player1 и player 2 в одну строку.

wp_divisions - Div_id, div_player1_id, div_player2_id
wp_players - ID, display_name

Output = Div_Id, display_name of Player1, display_name of Player2

Select display_name FROM wp_players INNER Join wp_divisions where wp_players.ID = wp_divisions.div_player1_id;

Это показывает имена Player1.

Select display_name FROM wp_players INNER Join wp_divisions where wp_players.ID = wp_divisions.div_player2_id;

Это показывает имя игрока 2.

Я хотел бы получить вывод в таблице с:

Division    Player 1     Player 2
  1001     Joe Smith     Tom Jones

Я попытался следовать Таблица с двумя внешними ключами, указывающими натот же столбец другой таблицы

Но не смог приспособить его к моим потребностям

Не уверен, как написать код.

1 Ответ

0 голосов
/ 30 июня 2019

Вы должны присоединиться wp_divisions с wp_players дважды:

select
  d.Div_id,
  p1.display_name player1,
  p2.display_name player2
from wp_divisions d
inner join wp_players p1 on p1.ID = d.div_player1_id
inner join wp_players p2 on p2.ID = d.div_player2_id

Если есть случай, когда div_player1_id или div_player2_id равен null, тогда используйте left соединения вместо inner соединения.

...