Si hai ragione, così funziona alla grande, prp come volevo:
codice:
select squadra,
count(squadra) as partite,
sum(if(punteggio=3,1,0)) as vittorie,
sum(if(punteggio=1,1,0)) as pareggi,
sum(if(punteggio=0,1,0)) as sconfitte,
sum(punteggio) as punteggio,
sum(fatti) as fatti,
sum(subiti) as subiti,
sum(fatti)-sum(subiti) as diff_reti,
sum(if(punteggio=3 and dove = 'C',1,0)) as vittorie_casa,
sum(if(punteggio=1 and dove = 'C',1,0)) as pareggi_casa,
sum(if(punteggio=0 and dove = 'C',1,0)) as sconfitte_casa,
sum(if(punteggio=3 and dove = 'T',1,0)) as vittorie_trasferta,
sum(if(punteggio=1 and dove = 'T',1,0)) as pareggi_trasferta,
sum(if(punteggio=0 and dove = 'T',1,0)) as sconfitte_trasferta
from
(
select squadra.squadra as squadra,esito_casa as fatti,esito_trasferta as subiti,'C' as dove,
case
when esito_casa > esito_trasferta then 3
when esito_casa = esito_trasferta then 1
else 0
end as punteggio
from giornata inner join squadra on giornata.squadra_casa = squadra.id_squadra WHERE giornata.id_torneo =1
union all
select squadra.squadra as squadra,esito_trasferta as fatti,esito_casa as subiti,'T',
case
when esito_trasferta > esito_casa then 3
when esito_trasferta = esito_casa then 1
else 0
end as punteggio
from giornata inner join squadra on giornata.squadra_trasferta = squadra.id_squadra WHERE giornata.id_torneo =1
) as tab
group by squadra
order by punteggio desc
Ecco come ho modificato la query.
Freeman volevo approfittare per chiedere un'ultima cosa:
Io ho la seguente query:
codice:
SELECT DISTINCT P.divisione, G . *
FROM giornata AS G
INNER JOIN partecipa AS P ON ( P.id_squadra = G.squadra_casa
OR P.id_squadra = G.squadra_trasferta )
AND P.id_torneo = G.id_torneo
AND G.id_torneo =1
AND P.divisione = 'A'
Questa query, mi permette di estrapolare dalla tabella gioranta, tutti i match associati a un determinato girone appartenente ad un determinato torneo... come puoi vedere in questo caso, faccio riferimento ai match relativi al girone A del torneo 1.
Come potrei applicare questa query a quella precedente per ricavare la classifica? A questo punto e come se dovessi fare più inner join...
Grazie anticipatamente.