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

[SOLUCIONADO] SELECT en 2 tablas

Estas en el tema de SELECT en 2 tablas en el foro de Bases de Datos General en Foros del Web. Buenas tardes. Estoy un poco mareado y no logro completar lo siguiente. Tengo estas 2 tablas Y quiero hacer una consulta sobre la tabla Partidos ...
  #1 (permalink)  
Antiguo 14/12/2013, 11:03
 
Fecha de Ingreso: octubre-2006
Mensajes: 16
Antigüedad: 17 años, 6 meses
Puntos: 1
SELECT en 2 tablas

Buenas tardes.

Estoy un poco mareado y no logro completar lo siguiente.

Tengo estas 2 tablas



Y quiero hacer una consulta sobre la tabla Partidos y que me devuelva para id_eq_loc y id_eq_vis el nombre que le corresponde según la tabla Cuadros.

Código:
SELECT p1.equipo FROM cuadros p1, partidos p2 WHERE p1.id = p2.id_eq_loc
Con ese código solo obtengo el nombre de id_eq_loc, necesito que me de los 2 nombres.

Agradezco sus comentarios.

Saludos.
  #2 (permalink)  
Antiguo 14/12/2013, 15:41
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, 4 meses
Puntos: 2658
Respuesta: SELECT en 2 tablas

Es muy básico: La llamas dos veces, relacionas cada una con la FK que quieres usando alias diferentes, y listas la que corresponde...
Es una pregunta de manual básico. La puedes encontrar en cualquier tutorial.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/12/2013, 16:06
 
Fecha de Ingreso: octubre-2006
Mensajes: 16
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: SELECT en 2 tablas

Tu me estas diciendo que haga esto?

SELECT p1.equipo as local FROM cuadros p1, partidos p2 WHERE p1.id = p2.id_eq_loc;
SELECT p1.equipo as visitante FROM cuadros p1, partidos p2 WHERE p1.id = p2.id_eq_vis;
  #4 (permalink)  
Antiguo 14/12/2013, 17:26
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: SELECT en 2 tablas

te esta diciendo que hagas esto:

Código SQL:
Ver original
  1. SELECT p1.equipo FROM cuadros p1, partidos p2
  2. WHERE p1.id = p2.id_eq_loc
  3. UNION ALL
  4. SELECT p1.equipo FROM cuadros p1, partidos p2
  5. WHERE p1.id = p2.id_eq_vis
  6.  
  7.  
  8. o esto
  9.  
  10. SELECT p1.equipo,p3.equipo FROM cuadros p1
  11. LEFT JOIN partidos p2 ON (p1.id=p2.id_eq_loc)
  12. LEFT JOIN partidos p3 ON (p1.id=p3.id_eq_vis)
saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/12/2013, 19:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 16
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: SELECT en 2 tablas

Cita:
Iniciado por Libras Ver Mensaje
te esta diciendo que hagas esto:

Código SQL:
Ver original
  1. SELECT p1.equipo FROM cuadros p1, partidos p2
  2. WHERE p1.id = p2.id_eq_loc
  3. UNION ALL
  4. SELECT p1.equipo FROM cuadros p1, partidos p2
  5. WHERE p1.id = p2.id_eq_vis
  6.  
  7.  
  8. o esto
  9.  
  10. SELECT p1.equipo,p3.equipo FROM cuadros p1
  11. LEFT JOIN partidos p2 ON (p1.id=p2.id_eq_loc)
  12. LEFT JOIN partidos p3 ON (p1.id=p3.id_eq_vis)
saludos!!
Libras, muchas gracias.

Me diste la idea de como solucionar mi problema.

Código SQL:
Ver original
  1. SELECT E.equipo, E1.equipo
  2. FROM partidos P
  3. JOIN cuadros E ON P.id_eq_loc = E.id
  4. JOIN cuadros E1 ON P.id_eq_vis = E1.id
  5. LIMIT 0 , 30

Ahí esta como lo solucione.

Muchas gracias.

Etiquetas: nombre, select, siguiente, tabla, tablas
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:23.