SELECT [tblLag].[LagID], [tblLag].[LagNamn],
Count([tblMatcher].[MatchId]) AS Antal,
-Sum(([tblLag].[LagID]=[tblMatcher].[MatchLag1]
And [tblMatcher].[MatchMål1]>[tblMatcher].[MatchMål2])
Or ([tblLag].[LagID]=[tblMatcher].[MatchLag2]
And [tblMatcher].[MatchMål1]<[tblMatcher].[MatchMål2])) AS Vinster,
-Sum([tblMatcher].[MatchMål1]=[tblMatcher].[MatchMål2]) AS Oavgjort,
-Sum(([tblLag].[LagID]=[tblMatcher].[MatchLag1]
And [tblMatcher].[MatchMål1]<[tblMatcher].[MatchMål2])
Or ([tblLag].[LagID]=[tblMatcher].[MatchLag2]
And [tblMatcher].[MatchMål1]>[tblMatcher].[MatchMål2])) AS Förluster,
((vinster*2)+oavgjort) AS poang
FROM tblLag LEFT JOIN tblMatcher ON ([tblLag].[LagID]=[tblMatcher].[MatchLag1])
Or ([tblLag].[LagID]=[tblMatcher].[MatchLag2])
GROUP BY [tblLag].[LagID], [tblLag].[LagNamn]
ORDER BY 7 DESC;
Någon som vet hur jag ska göra för att räkna ut antalet plus och minusmål och målskillnad?
SELECT LagID,
LagNamn,
Count(MatchId) AS Antal,
-Sum((LagID=MatchLag1 And MatchMål1 > MatchMål2 )
Or (LagID=MatchLag2 And MatchMål1<MatchMål2)) AS Vinster,
-Sum(MatchMål1=MatchMål2) AS Oavgjort,
antal - Vinster - Oavgjort as Förluster ,
vinster*2 + oavgjort AS poang,
-Sum((LagID=MatchLag1)*MatchMål1 + (LagID=MatchLag2)*MatchMål2) as plusmål,
-Sum((LagID=MatchLag1)*MatchMål2 + (LagID=MatchLag2)*MatchMål1) as minusmål,
plusmål - minusmål as målskillnad
FROM tblLag LEFT JOIN tblMatcher
ON (LagID=MatchLag1 Or LagID = MatchLag2)
GROUP BY LagID, LagNamn
ORDER BY 7 DESC
SELECT LagID,
LagNamn,
@antal := Count(MatchId) AS Antal,
@vinster :=
Sum((LagID=MatchLag1 And MatchMål1 > MatchMål2 )
Or (LagID=MatchLag2 And MatchMål1<MatchMål2)) AS Vinster,
@oavgjort :=
Sum(MatchMål1=MatchMål2) AS Oavgjort,
@antal - @Vinster - @Oavgjort as Förluster ,
@vinster*2 + @oavgjort AS poang,
@plusmal :=
Sum((LagID=MatchLag1)*MatchMål1 + (LagID=MatchLag2)*MatchMål2) as plusmål,
@minusmal :=
Sum((LagID=MatchLag1)*MatchMål2 + (LagID=MatchLag2)*MatchMål1) as minusmål,
@plusmal - @minusmal as målskillnad
FROM tblLag LEFT JOIN tblMatcher
ON LagID=MatchLag1 Or LagID = MatchLag2
GROUP BY LagID, LagNamn
ORDER BY 7 DESC
Ett litet problem. jag har nu anpassat frågan till mina riktiga tabeller. Problemet är att målskillnad och poäng tas från det sämsta laget och blir samma för alla lag
frågan
SELECT s_deltagande_lag.ID, s_deltagande_lag.Namn,s_deltagande_lag.serie_id,
@games := Count(s_matcher.ID) AS games,
@win := Sum((s_deltagande_lag.ID=s_matcher.lagid_a
And s_matcher.resultat_a > s_matcher.resultat_b )Or (s_deltagande_lag.ID=s_matcher.lagid_b
And s_matcher.resultat_a < s_matcher.resultat_b)) AS win,
@tie := Sum(s_matcher.resultat_a=s_matcher.resultat_b) AS tie,
@games - @win - @tie as lost , @win*2 + @tie AS poang,
@plus := Sum((s_deltagande_lag.ID=lagid_a*s_matcher.resultat_a + (s_deltagande_lag.ID=s_matcher.lagid_b)*s_matcher.resultat_b) as plus,
@minus := Sum((s_deltagande_lag.ID=s_matcher.lagid_a)*resultat_b + (s_deltagande_lag.ID=s_matcher.lagid_b)*s_matcher.resultat_a) as minus,
@plus - @minus as plusminus FROM s_deltagande_lag LEFT JOIN s_matcher ON (s_deltagande_lag.ID=s_matcher.lagid_a) Or (s_deltagande_lag.ID=s_matcher.lagid_b)
where(s_deltagande_lag.serie_ID = 2)
GROUP BY s_deltagande_lag.ID, s_deltagande_lag.Namn ORDER BY 8 DESC ,11 desc, 9 desc, 10 desc
137 ms totalt · 3 externa anrop · v20260731065814-full.55e59744