有没有更有效的方法来写这个?我不确定这是实现这一点的最佳方式。
select *
from stat.UniqueTeams uTeam
Left Join stat.Matches match
on match.AwayTeam = uTeam.Id or match.HomeTeam = uTeam.id
Run Code Online (Sandbox Code Playgroud)
OR in JOINS 是一种不好的做法,因为 MSSQL 不能以正确的方式使用索引。更好的方法 - 在 UNION 中使用两个选择:
SELECT *
FROM stat.UniqueTeams uTeam
LEFT JOIN stat.Matches match
ON match.AwayTeam = uTeam.Id
UNION
SELECT *
FROM stat.UniqueTeams uTeam
LEFT JOIN stat.Matches match
ON match.HomeTeam = uTeam.id
Run Code Online (Sandbox Code Playgroud)