Al final hice la consulta como me lo comento jcrg666, y la sugerencia de un amigo ya que vun tambien tenia una buena sugerencia, gracias por su ayuda, la verdad no tenia en cuenta la existencia del if dentro de mysql, algo complicado gracias, os dejo mi consulta para que algun dia les sirva
Código MySQL:
Ver originalSelect * ,(select SUM( ( IF(partidos.idvisita
=equipos.idequipo
,IF(partidos.golvisita
>partidos.gollocal
,3,0),0 ) )+ IF(partidos.idlocal
=equipos.idequipo
,IF(partidos.golvisita
<partidos.gollocal
,3,0),0 )+IF(partidos.idlocal
=equipos.idequipo
,IF(partidos.golvisita
=partidos.gollocal
,1,0),0)+(IF(partidos.idvisita
=equipos.idequipo
,IF(partidos.golvisita
=partidos.gollocal
,1,0),0)) ) FROM partidos
where partidos.idvisita
= equipos.idequipo
OR partidos.idlocal
=equipos.idequipo
) AS Puntos
,(SELECT SUM(IF(partidos.idlocal
=equipos.idequipo
,partidos.gollocal
,-partidos.golvisita
) + IF(partidos.idvisita
=equipos.idequipo
,partidos.golvisita
,-partidos.gollocal
) ) FROM partidos
WHERE partidos.idvisita
=equipos.idequipo
OR partidos.idlocal
=equipos.idequipo
) as diferencia
from equipos
order by Puntos
Desc