MySQL - ПРИСОЕДИНЯЕТСЯ к 2 таблицам с 2 идентификаторами вместе

У меня есть 2 таблицы, что я должен получить информацию от и хотел бы получить информацию в одном едином запросе.

Ситуация - это:

table "matches" :

id
team_A_id
team_B_id

table "teams" :

id
name

Цель состоит в том, чтобы получить информацию от таблицы "соответствия" (футбольные матчи) и присоединиться к информации с таблицей "команды". Мне нужно это, потому что у моего поставщика веб-сервиса нет данных XML на моем языке (португальский язык), и таким образом, я должен предложить моему клиенту опцию перевести определенные названия команды в португальский язык, иначе я добавил бы названия команды непосредственно на таблице "соответствий". Проблема состоит в том, что я должен ПРИСОЕДИНИТЬСЯ к этим 2 таблицам с 2 идентификаторами. Я знаю, как к объединяющим таблицам с 1 идентификатором вместе, но не может выяснить, как сделать это с 2 идентификаторами, и поддержание информации от этих 2 команд, вовлеченных в каждое неповрежденное соответствие.

Действительно ли это возможно? Или я должен создать отдельные запросы?

8
задан Qantas 94 Heavy 16 September 2014 в 03:26
поделиться

3 ответа

select match.*, teama.name, teamb.name
from matches as match
inner join teams as teama on teama.id = match.team_A_id
inner join teams as teamb on teamb.id = match.team_B_id

будет работать в SQL Server и, предположительно, MySQL тоже.

12
ответ дан 5 December 2019 в 07:58
поделиться

Включить таблицу команд во второй раз (с другим псевдонимом) и рассматривать запрос как находящийся между тремя таблицами:

SELECT *
FROM matches m
JOIN teams t1 ON m.team_A_id = t1.id
JOIN teams t2 ON m.team_B_id = t2.id
6
ответ дан 5 December 2019 в 07:58
поделиться
SELECT *
  FROM matches m, team t1, team t2 
 WHERE m.team_A_id = t1.id
   AND m.team_B_id = t2.id
3
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: