Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/08/2011, 08:26
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta con tres tablas y 2 id en una de ellas

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 original
  1. SELECT c.calendario_id, l.nombre_equipo, v.nombre_equipo, r.total_goles
  2. FROM calendarios c
  3. INNER JOIN equipos l ON l.equipo_id = c.equipo_local_id
  4. INNER JOIN equipos v ON v.equipo_id = c.equipo_visitante_id
  5. 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.