Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Relaciones de tablas MYSQL con Left Join

Estas en el tema de Relaciones de tablas MYSQL con Left Join en el foro de Mysql en Foros del Web. Que tal, disculpen queria pedir su ayuda para una consulta de base de datos donde relaciono dos tablas: le_roll0, le_equipos le_roll0 contiene registros de partidos ...
  #1 (permalink)  
Antiguo 24/11/2012, 01:25
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
Relaciones de tablas MYSQL con Left Join

Que tal, disculpen queria pedir su ayuda para una consulta de base de datos donde relaciono dos tablas:

le_roll0, le_equipos

le_roll0 contiene registros de partidos entre dos equipos donde guarda IdRoll, IdTemporada, IdCategoria, Hora, Fecha, IdEquipoLocal, IdEquipoVisita, Jornada

le_equipos guarda informacion de IdEquipo y Nombre (del equipo)

en una pagina dispongo selects para seleccionar temporada, categoria y jornada, y estos se envian en un formulario a otra pagina donde realizo la consulta de los partidos que se jugaron en dicha jornada

Código MySQL:
Ver original
  1. FROM le_equipos, le_roll0
  2. WHERE le_roll0.IdTemporada='$torneo'
  3.     AND le_roll0.IdCategoria='$categoria'
  4.     AND le_roll0.Jornada='$jornada'
  5.     AND (le_equipos.IdEquipo=le_roll0.IdEqLocal)
esto me devuelve algo como:

IdRoll......Hora............Fecha.....IdEqLocal... ..IdEqVisita
8183.... 22:00.... 2012-11-12.... 1194...........1394

Sin embargo lo que quiero realizar es que en ves de mostrarme los Id de los equipos, me muestre el nombre ellos, para ello intente algo como esto:

Código MySQL:
Ver original
  1. Select le_equipos.Nombre AS NomEquipoL
  2. From le_equipos Left Join le_roll0 on le_equipos.IdEquipo = le_roll0.IdEqLocal  
  3. WHERE le_roll0.IdTemporada='$torneo'
  4.     AND le_roll0.IdCategoria='$categoria'
  5.     AND le_roll0.Jornada='$jornada'
Pero solo me devuelve los nombres de los equipos Locales, sin el id del roll, ni la hora, ni fecha,

alguno podria darme una idea de como reemplazar los Id de los equipos por su respectivo nombre??

Última edición por gnzsoloyo; 24/11/2012 a las 05:42 Razón: Código de programación no permitido en los foros de base de datos.
  #2 (permalink)  
Antiguo 25/11/2012, 11:33
 
Fecha de Ingreso: noviembre-2012
Mensajes: 32
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Relaciones de tablas MYSQL con Left Join

Pónselo en el select nombre, id, hora. Solo te mostrará lo que le digas en el select. Ahora solo tienes "le_equipos.Nombre AS NomEquipoL ", añadele otros campos
  #3 (permalink)  
Antiguo 26/11/2012, 23:20
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Relaciones de tablas MYSQL con Left Join

que tal, mira ya pude hacer que me mostrara los nombres de los equipos locales con este codigo
Código MySQL:
Ver original
  1.         (SELECT Nombre AS NomEqLocal, IdEquipo AS IdELocal
  2.         From le_equipos
  3.         LEFT JOIN le_roll0 ON le_equipos.IdEquipo = le_roll0.IdEqLocal
  4.         WHERE le_roll0.IdTemporada='$torneo'
  5.         AND le_roll0.IdCategoria='$categoria'
  6.         AND le_roll0.Jornada='$jornada')
  7.         Union
  8.         (SELECT Nombre AS NomEqVisita, IdEquipo AS IdEVisita
  9.         From le_equipos
  10.         LEFT JOIN le_roll0 ON le_equipos.IdEquipo = le_roll0.IdEqVisita
  11.         WHERE le_roll0.IdTemporada='$torneo'
  12.         AND le_roll0.IdCategoria='$categoria'
  13.         AND le_roll0.Jornada='$jornada'),
  14. le_roll0
  15. WHERE le_roll0.IdTemporada='$torneo'
  16. AND le_roll0.IdCategoria='$categoria'
  17. AND le_roll0.Jornada='$jornada'
  18. AND le_roll0.IdEqLocal=IdELocal
  19. AND le_roll0.IdEqLocal=IdEVisita

pero ahora me dice el error de Every derived table must have its own alias

Última edición por gnzsoloyo; 27/11/2012 a las 03:08 Razón: Mal etiquetado.
  #4 (permalink)  
Antiguo 27/11/2012, 03:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Relaciones de tablas MYSQL con Left Join

Toda subconsulta en el FROM genera una tabla derivada, t toda tabla derivada debe tener un alias.
No le has puesto el alias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.