webForumDet fria alternativet

hjälp med sql-fråga

5 svar · 255 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

jag har 2 tabeller i en mysql databas
statistik
---------
spelarID - tal

Matchfakta
---------
malskytt - tal
ass1 - tal
ass2 - tal

Ny skulle jag vilja räkna ihop alla poster där
statistik.spelarID = malskytt som mål
och
statistik.spelarID = ass1 eller statistik.spelarID = ass2 som assist

Jag har testat med både sum och count men får det inte att fungera.
Någon som vet hur jag ska göra för att det ska fungera

SebbeMedlem sedan jan. 20032 285 inlägg
#2

/red Läste frågan lite galet. :)

LarsGMedlem sedan dec. 200012 464 inlägg
#3
select spelarid,
sum(case when malskytt = spelarid then 1 else 0  end) +
sum(case when ass1 = spelarid then 1 else 0  end) +
sum(case when ass2 = spelarid then 1 else 0  end)
from statistik,matchfakta
where spelarid in (malskytt,ass1,ass2)
group by spelarid
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#4

Tack. Men den fungerar inte riktigt som den ska. Den räknar ihop allt men resultatet blir dubbelt.
Finns tex spelarid 1 i malskytt 4 gånger blir resutatet 8

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Då låter det som om det finns flera förekomster av spelarid i statistik

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#6

Tack.
Spelarid fanns flera gånger. Hade missat att jag lagt till flera serier.

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