Hola madpunk:
La consulta que pone nifdya es correcta, aunque en lo particular he comprobado que es mucho más eficiente el uso del INNER JOIN que listas las tablas en el FROM y hacer las uniones en el WHERE. Además de tener mejor desempeño, sobre todo con tablas muy grandes, en lo particular me parece que las consultas quedan más legibles y "limpias".
La consulta quedaría así:
Código MySQL:
Ver originalSELECT c.calendario_id
, l.nombre_equipo
, v.nombre_equipo
, r.total_goles
INNER JOIN equipos l
ON l.equipo_id
= c.equipo_local_id
INNER JOIN equipos v
ON v.equipo_id
= c.equipo_visitante_id
INNER JOIN resultados r
ON r.calendario_id
= c.calendario_id
Con los datos que pones de ejemplo el resultado como bien hace notar nifdya sería el siguiente:
Código:
calendario_id nombre_equipo nombre_equipo total_goles
------------- ------------- ------------- -----------
1 Real Madrid FC Barcelona 8
2 Malaga Zaragoza 0
3 Real Madrid Malaga 2
4 FC Barcelona Zaragoza 4
Es cuestión que compares ambas consultas con tus datos y utilices aquella que en tu caso tenga un mejor desempeño.
Saludos
Leo.