webForumDet fria alternativet

Räkna ihop statistik

3 svar · 219 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

jag har den här sql-frågan för att räkna ihop statistik

select s.spelarid, namn,
@games := sum(mf.spelar) as games,
@plus := sum(mf.plus) as plus,
@minus := sum(mf.minus) as minus,
@PlusMinus := sum(mf.Plus - mf.minus) as plusminus,
@mal := sum(case when spelar_ID = s.spelarid then 1 else 0  end) as mal,
@ass := sum(case when ass_id = s.spelarid then 1 else 0  end) +
sum(case when ass_id1 = s.spelarid then 1 else 0  end) as ass,
@points := (sum(case when spelar_ID = s.spelarid then 1 else 0  end) + sum(case when ass_id = s.spelarid then 1 else 0  end) + sum(case when ass_id1 = s.spelarid then 1 else 0  end)) as points
from statistik s,matchfakta m
inner join trupper t on t.id = s.spelarid
left join mfPlayers mf on mf.spelarid = s.spelarid
where s.spelarid in (spelar_ID,ass_id,ass_id1) and s.serieid = 111 and vilken = 'goal'
group by t.Id

Den här fungerar men jag får bara ut de spelare som har gjort mål eller passat till ett mål.

Jag skulle vilja ha ut alla spelare i mfPlayers.
Hur ska jag göra för att få ut alla spelare?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Utan att veta något om din databas så låter det som om du skulle ta bort fösta delen av ditt where-villkor

where s.serieid = 111 and vilken = 'goal'
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3

jag vill hämta alla spelare från mfPlayers där SerieId = 111
Nu får jag bara ut dom som finns med i tabellen matchfakta

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#4

Nu har jag fått ut alla spelare och räknat ut plsuminus i samma fråga

Select t.Namn,t.nummer, mf.plus,mf.minus,
@games := sum(mf.spelar) as games,
@PlusMinus := sum(mf.Plus - mf.minus) as plusminus
from trupper t, mfPlayers mf
inner join statistik s on s.SpelarID = mf.Spelarid and s.SpelarId = t.id
where s.serieid = 111 and s.LagId = 265
group by mf.spelarID

Nu skulle jag även vilja räkna ut poäng från tabellen matchfakta.
jag har en fråga för att göra detta

select spelarid,
@mal := sum(case when spelar_ID = spelarid then 1 else 0  end) as mal,
@ass := sum(case when ass_id = spelarid then 1 else 0  end) +
sum(case when ass_id1 = spelarid then 1 else 0  end) as ass,
@points := (sum(case when spelar_ID = spelarid then 1 else 0  end) + sum(case when ass_id = spelarid then 1 else 0  end) + sum(case when ass_id1 = spelarid then 1 else 0  end)) as points
from statistik,matchfakta
where spelarid in (spelar_ID,ass_id,ass_id1) and serieid = 2 and vilken = 'goal'
group by spelarid

Går det att slå ihop dom här frågorna? och i så fall hur?

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)