HiI have the below query. It pulls the last '@X' home games for the selected '@Team' (based on the date).SELECT TOP (@X) *FROM Soccer_Base.dbo.ResultsWHERE Soccer_Base.dbo.Results.HomeTeam = @TeamORDER BY Soccer_Base.dbo.Results.Date desc
I aslo have another query which sums all the home games for all teams for the selected '@Season'.SELECT Soccer_Base.dbo.Results.HomeTeam as Team ,COUNT(Soccer_Base.dbo.Results.HomeTeam) as [Home Games] /*Win*/ ,SUM(Case WHEN Soccer_Base.dbo.Results.HomeFT> Soccer_Base.dbo.Results.AwayFT THEN 1 ELSE 0 END) AS [Home Win] /*Draw*/ ,SUM(Case WHEN Soccer_Base.dbo.Results.HomeFT= Soccer_Base.dbo.Results.AwayFT THEN 1 ELSE 0 END) AS [Home Draw] /*Loss*/ ,SUM(Case WHEN Soccer_Base.dbo.Results.HomeFT< Soccer_Base.dbo.Results.AwayFT THEN 1 ELSE 0 END) AS [Home Loss] /*AGF*/ ,ROUND(SUM(Soccer_Base.dbo.Results.HomeFT)/COUNT(Soccer_Base.dbo.Results.HomeTeam),2) as AGF /*For*/ ,SUM(Soccer_Base.dbo.Results.HomeFT) as F /*Against*/ ,SUM(Soccer_Base.dbo.Results.AwayFT) as A /*AGA*/ ,ROUND(SUM(Soccer_Base.dbo.Results.AwayFT)/COUNT(Soccer_Base.dbo.Results.HomeTeam),2) as AGA /*Total*/ ,SUM(Soccer_Base.dbo.Results.HomeFT) + SUM(Soccer_Base.dbo.Results.AwayFT) AS Total /*GPG*/ ,Round((SUM(Soccer_Base.dbo.Results.HomeFT) + SUM(Soccer_Base.dbo.Results.AwayFT)) / COUNT(Soccer_Base.dbo.Results.HomeTeam),2) AS GPG /* Home Pts */ ,SUM(Case WHEN Soccer_Base.dbo.Results.HomeFT> Soccer_Base.dbo.Results.AwayFT THEN 1 ELSE 0 END)*3 + SUM(Case WHEN Soccer_Base.dbo.Results.HomeFT= Soccer_Base.dbo.Results.AwayFT THEN 1 ELSE 0 END) AS [Home Pts] FROM Soccer_Base.dbo.Results WHERE Season = @Season GROUP BY Soccer_Base.dbo.Results.HomeTeam ORDER BY HomeTeam
I am trying to write a query that will sum the last four home games for all teams. Any ideas? Some sort of sub query maybe?Many ThanksMosiki.