假设 ID 用于链接两个表中的记录(即,虽然它是两个表的主键,但它也被用作外键):
select m.HostId, m.GuestId, t.Name
from Match m
left outer join Team t
on m.id = t.id
如果 ID 不同,您可以执行以下操作以将所有团队匹配到所有匹配项:
select m.HostId, m.GuestId, t.Name
from Match m
cross join Team t
如果这不是您所追求的,您可能需要向其中一个表添加外键,或者创建一个包含 MatchId 和 TeamId 的新表来链接两者),然后加入该表
create table MatchTeam
(
MatchId bigint not null
,TeamId bigint not null
)
go
select m.HostId, m.GuestId, t.Name
from Match m
left outer join MatchTeam mt
on m.Id = mt.MatchId
left outer join Team t
on mt.TeamId = t.id
如果 hostid 和 guestid 与团队表相关:
select m.id MatchId
, h.Name HostName
, g.Name GuestName
from Match m
left outer join Team h
on m.HostId = h.id
left outer join Team g
on m.GuestId = h.id