Non mi stressa manco il gatto che affila le unghie sul divano...

continuo a non capire a cosa dovrebbe servire quella query che fai...

Se devi fare una classifica mi aspetterei di vedere dei conteggi...
codice:
INSERT INTO tabella .... SELECT ecc 

idclassifica = autoincrement
idcategoria  = id_della categoria
idsquadra    = id della squadra
punti        = SUM(punti)
pgiocate     = COUNT(giocate)
pvinte       = COUNT(vinte)
pnulle       = COUNT(nulle)
pperse       = COUNT(perse)
golfatti     = SUM(golfatti)
golsubiti    = SUM(golsubiti)

from squadre s
inner join categorie c USING(idcategoria)
inner join incontri i ON i.idsquadra = s.idsquadra
WHERE s.idcategoria = '$idcategoria'
GROUP BY s.idcategoria, s.idsquadra
ORDER BY punti DESC
ovvio che la query cosi' fatta non vada, ma e' solo per dare l'idea di cosa dovrebbe fare la query....