2013-10-16 47 views
-1

您好,我需要優化我的SQl查詢,因爲此刻我在我的網站上運行我的代碼時詢問了太多查詢。針對體育比賽的SQL查詢優化

我需要的是每場比賽中球隊的名字。目前,我有這樣的:

匹配(idMatch,homeTeamId,awayTeamId)

隊(idTeam,nameTeam)

我的代碼,目前循環通過每場比賽獲得兩個homeTeamId和awayTeamId,然後進行相同的查詢爲每個:

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

因此多數民衆贊成3個查詢拿到賽的可讀版本:

'homeTeam' VS 'awayTeam'。

如果有人能夠幫助我優化SQL查詢,那麼可以將其壓縮爲單個查詢或優化佔用較少的資源,我將不勝感激。

謝謝

+0

查看查詢的全部 –

+0

必須有這樣一個例子千在那裏這將是有益的。 – Strawberry

+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 
+0

這正是我要找的謝謝,對不起,如果它不是很清楚。 –