MySQL - 加入2个表,共有2个ID

yod*_*oda 8 mysql join

我有2个表,我需要从中获取信息,并希望在一个查询中获取信息.

情况是这样的:

table "matches" :

id
team_A_id
team_B_id

table "teams" :

id
name
Run Code Online (Sandbox Code Playgroud)

目标是从表"匹配"(足球比赛)中检索信息,并将信息与表"团队"一起加入.我需要这个,因为我的webservice提供者没有我的语言(葡萄牙语)的xml数据,所以我需要为我的客户提供将某些团队名称翻译成葡萄牙语的选项,否则我会直接在团队名称上添加团队名称. "匹配"表.问题是我需要用2个id加入2个表.我知道如何将1个id共享的表连接起来,但是无法弄清楚如何使用2个id来完成它,并且保持每个匹配中涉及的2个团队的信息完好无损.

这可能吗?或者我是否必须创建单独的查询?

Ric*_*ich 12

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
Run Code Online (Sandbox Code Playgroud)

可以在SQL Server中工作,也可能在MySQL中工作.


cle*_*tus 6

第二次包含teams表(使用不同的别名)并将查询视为在三个表之间:

SELECT *
FROM matches m
JOIN teams t1 ON m.team_A_id = t1.id
JOIN teams t2 ON m.team_B_id = t2.id
Run Code Online (Sandbox Code Playgroud)