您好我需要优化我的SQl查询,因为目前我在网站上运行代码时会询问太多查询。
我需要的是每场比赛的球队名称。我目前有这个:
匹配(idMatch,homeTeamId,awayTeamId)
团队(idTeam,nameTeam)
我的代码目前循环访问每个匹配,同时获取homeTeamId和awayTeamId,然后为每个匹配执行相同的查询:
SELECT nameTeam FROM Team WHERE idTeam = homeTeamId SELECT nameTeam FROM Team WHERE idTeam = awayTeamId
因此,3个查询只是为了获得匹配的可读版本:
'homeTeam'与'awayTeam'。
如果有人能帮助我优化SQL查询,我会非常感激,因此可以将其压缩为单个查询,也可以优化以减少资源占用。
谢谢
答案 0 :(得分: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