我有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中工作.
第二次包含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)