codice:
SELECT squadra,squadre_SerieA.nome_squadra,
SUM(if(fatti!='',1,0)) AS partite,
SUM(if(punteggio=3,1,0)) AS vittorie,
SUM(if(punteggio=1,1,0)) AS pareggi,
SUM(if(punteggio=0 AND fatti != '',1,0)) AS sconfitte,
SUM(punteggio) AS punteggio,
SUM(punteggio)-MAX(campionati_SerieA.penalita) AS penalty,
SUM(fatti) AS fatti,
SUM(subiti) AS subiti,
SUM(fatti)-SUM(subiti) AS diff_reti,
SUM(if(dove='C',fatti,0)) as fatti_casa,
SUM(if(dove='T',fatti,0)) as fatti_trasferta,
SUM(if(dove='C',subiti,0)) as subiti_casa,
SUM(if(dove='T',subiti,0)) as subiti_trasferta,
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' AND fatti != '',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' AND fatti != '',1,0)) AS sconfitte_trasferta
FROM
(SELECT sq_casa AS squadra, gol_sq_casa_and AS fatti, gol_sq_osp_and AS subiti,'C' AS dove,
CASE
WHEN gol_sq_casa_and > gol_sq_osp_and THEN 3
WHEN gol_sq_casa_and = gol_sq_osp_and AND gol_sq_casa_and <> '' THEN 1
ELSE 0
END AS punteggio
FROM partite_SerieA WHERE id_stagione='$str_idstag'
UNION ALL
SELECT sq_osp AS squadra, gol_sq_osp_and AS fatti, gol_sq_casa_and AS subiti,'T',
CASE
WHEN gol_sq_osp_and > gol_sq_casa_and THEN 3
WHEN gol_sq_osp_and = gol_sq_casa_and AND gol_sq_osp_and <> '' THEN 1
ELSE 0
END AS punteggio
FROM partite_SerieA WHERE id_stagione='$str_idstag'
UNION ALL
SELECT sq_casa AS squadra, gol_sq_casa_rit AS fatti, gol_sq_osp_rit AS subiti,'C' AS dove,
CASE
WHEN gol_sq_casa_rit > gol_sq_osp_rit THEN 3
WHEN gol_sq_casa_rit = gol_sq_osp_rit AND gol_sq_casa_rit <> '' THEN 1
ELSE 0
END AS punteggio
FROM partite_SerieA WHERE id_stagione='$str_idstag'
UNION ALL
SELECT sq_osp AS squadra, gol_sq_osp_rit AS fatti, gol_sq_casa_rit AS subiti,'T',
CASE
WHEN gol_sq_osp_rit > gol_sq_casa_rit THEN 3
WHEN gol_sq_osp_rit = gol_sq_casa_rit AND gol_sq_osp_rit <> '' THEN 1
ELSE 0
END AS punteggio
FROM partite_SerieA WHERE id_stagione='$str_idstag'
) AS tab
JOIN squadre_SerieA ON squadra=squadre_SerieA.id_squadra
JOIN campionati_SerieA ON squadra=campionati_SerieA.idsquadra AND id_stagione='$str_idstag'
GROUP BY squadra
ORDER BY penalty DESC, diff_reti DESC, fatti DESC, nome_squadra