Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/07/2010, 06:34
yosoloyo
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Respuesta: Consulta SQL en MySQL

Cita:
Iniciado por jurena Ver Mensaje
yosoloyo,
usa ésta, pues creo que otendrás todo lo que quieres y es más rápida:

select p.jornada, ep.idpartido, e.nombre Local, ep.golesmarcados golesLocal, ep.golesrecibidos golesVisitante, v.nombre Visitante FROM partido p INNER JOIN Equipopartido ep ON p.idpartido = ep.idpartido INNER JOIN Equipo e ON e.idequipo = ep.idequipo INNER JOIN(select ep.idpartido, p.jornada, e.nombre, ep.golesmarcados FROM partido p INNER JOIN Equipopartido ep ON p.idpartido = ep.idpartido INNER JOIN Equipo e ON e.idequipo = ep.idequipo WHERE p.jugado = "SI" AND ep.modo = "Visitante")v ON v.jornada = p.jornada AND v.idpartido = ep.idpartido GROUP BY p.jornada, ep.idpartido
Casi casi!!!!! jeje muchas gracias pero hay algun fallo que no comprendo porque se produce:

En cada jornada de liga se produce un enfrentamiento en esa consulta que en el que se repite tanto el local como el visitante. Ejemplo:

Código MySQL:
Ver original
  1. jornada     idp     Local   golesLocal  golesVisitante  Visitante
  2. 1   1   AC Milan    0   0   Villarreal CF
  3. 1   2   Sevilla FC  0   0   Real Betis
  4. 1   3   Chelsea FC  0   0   AS Roma
  5. 1   4   Real Madrid CF  0   0   Real Madrid CF
  6. 1   5   Real Club D. Espanyol   0   0   Newcastle United
  7. 1   6   SSC Napoles     0   0   SSC Napoles
  8. 1   7   Liverpool FC    0   0   Inter de Milan
  9. 1   8   Manchester United   0   0   Manchester United

Como ves se repite tanto el enfrentamiento con idp=4 como el enfrentamiento con idp=8 y en mi base de datos correctamente enlaza el partido 4 que debería ser: Real Madrid - Bayern Munich y el de idp=8 que debería ser United - City

Aqui te pongo como en la talba equipopartido está correctamente guardado los ide's distintos y no iguales:
Código MySQL:
Ver original
  1. ide     idp     golesmarcados   golesrecibidos  modo
  2. 2   4   0   0   V
  3. 21  4   0   0   L
  4. 43  8   0   0   L
  5. 1   8   0   0   V
El ide = 2 es Real Madrid, el ide= 21 es Bayern Munich, el ide= 1 es el United y el City es el ide= 43

muchas gracias de nuevo y siento que te tengas que quebrar la cabeza de esta forma