Tjena!
En liten utmaning sådär på lördagkvällen
Som några kanske vet så har jag ett hobbyprojekt för korpfotbollslaget och vad som gäller nu är att räkna hur många mål en lirare(/lirerska??) gjort för en viss säsong samt hur många matcher han/hon var med på.
* = primary key
# = foreign key
matcher:
match_id * (int 5) +mer matchinfo
hemma_lag # (int3)
borta_lag # (int3)
matchnarvaro:
match_id *# (int 5)
spelar_id *# (int 5)
spelade (smallint) //vilken match samt vilken spelare samt en 'boolean'
skytteligan:
match_id *# (int5)
lag_id *# (int5)
mal_no * (smallint)
mal (int5, fylls med ett spelar_id)
lagdeltagan:
sasong_id *# (int3)
spelar_id *# (int5)
lag_id *# (int5)
Jag försökte mig på att skriva så här
$query = mysql_query(" SELECT COUNT(sk.mal) as gjorda_mal, sp.namn_f, sp.namn_e, COUNT(mnv.spelar_id) as antal_matcher
FROM spelare sp,
skytteligan sk,
matchnarvaro mnv,
matcher m,
lagdeltagan ld,
lag l
WHERE mnv.spelar_id = sp.spelar_id
AND mnv.match_id = m.match_id
AND m.spelad = 1
AND sp.spelar_id = sk.mal
AND sk.match_id = m.match_id
AND sk.lag_id = l.lag_id
AND l.lag_id =
AND ld.sasong_id = '$sasong'
AND m.sasong_id = '$sasong'
GROUP BY namn_e, namn_f
ORDER BY gjorda_mal DESC
") or die("Query-Error: " . mysql_error());
men får fram att antalet spelade matcher är lika många som antalet gjorda mål.... Undrar om jag kanske ska göra en snygg join här kanske... (F*n att mysql inte stödjer nästlade select-satser!)
Tips någon? Har kört in i ett hörn och hittar inte ratten (eller reverse, heh)
ps. jag har en teori om att jag inte borde spara lag_id i skytteligan eftersom det ska gå att få fram vilket lag en spelare lirar i genom att läsa av matchen och kolla borta_lag och hemma_lag och se vilket lag spelarn deltog i för den säsongen. Good/bad?