-1

您好,我需要优化我的 SQl 查询,因为目前我在我的网站上运行我的代码时询问了太多查询。

我需要的是参加比赛的每支球队的名称。我目前有这个:

比赛 (idMatch, homeTeamId, awayTeamId)

团队(idTeam,nameTeam)

我的代码当前循环通过每个匹配获取 homeTeamId 和 awayTeamId,然后为每个匹配执行相同的查询:

SELECT nameTeam FROM Team WHERE idTeam = homeTeamId SELECT nameTeam FROM Team WHERE idTeam = awayTeamId

因此,这 3 个查询只是为了获得匹配的可读版本:

“主队”与“客队”。

如果有人可以帮助我优化 SQL 查询,以便可以将其压缩为单个查询或优化以占用更少的资源,我将不胜感激。

谢谢

4

1 回答 1

1

不完全确定您想要什么,但是:

我认为你可以这样做:

Select m.idMatch, m.homeTeamId, th.homeTeamName, m.awayTeamId, ta.awayTeamName
FROM Match m
LEFT JOIN TEAM ta ON ta.idteam = m.awayteamId
LEFT JOIN TEAM th ON th.idteam = m.hometeamId

你添加WHERE你想要的子句。

那是你需要的吗?

这会给你例如:

match1 idTeam1 teamName1 idTeam2 teamName2
match2 idTeam2 teamName2 idTeam3 teamName3
于 2013-10-16T09:44:40.513 回答