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 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'
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
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?