Domanda interessante.
Supponendo di avere una tabella strutturata così
id
squadra1
squadra2
psq1 (reti squadra casa)
psq2 (reti squadra trasferta)
potresti fare
codice:
select squadra,sum(punti) as punteggio from
(
select squadra1 as squadra,
if(psq1 > psq2, 3, if (psq1 < psq2, 0,1)) as punti
from campionato
union all
select squadra2 as squadra,
if(psq1 > psq2, 0, if (psq1 < psq2, 3,1)) as punti
from campionato
)as tab
group by squadra
order by punteggio desc
L'ho provata con pochi record ma mi sembra che funzioni. Fammi sapere.