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

Seleccionar varias tablas

Estas en el tema de Seleccionar varias tablas en el foro de Mysql en Foros del Web. Hola estoy intentando hacer la siguiente consulta pero no consigo que funcione. Tengo dos tablas una con los datos de los equipos entre ellos el ...
  #1 (permalink)  
Antiguo 08/05/2009, 21:59
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 2
Seleccionar varias tablas

Hola estoy intentando hacer la siguiente consulta pero no consigo que funcione.

Tengo dos tablas una con los datos de los equipos entre ellos el nombre del equipo y el id y otra con los partidos de la siguiente forma

id equipo1, resultado, id equipo2, resulta

Pues bien lo que quiero es mostrar el nombre del equipo 1 el resultado el nombre del equipo 2 y el resultado

e probado lo siguiente pero no logro lo que quiero.

select partidos.id_equipo1, equipos.nombre, partidos.resultado_equipo1 from partidos, equipos where partidos.id_equipo1=equipos.registro union
select partidos.id_equipo2, equipos.nombre, partidos.resultado_equipo2 from partidos, equipos where partidos.id_equipo2=equipos.registro;

Un saludo

Última edición por cristofer-2006; 08/05/2009 a las 22:05
  #2 (permalink)  
Antiguo 08/05/2009, 22:28
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Seleccionar varias tablas

Ya di con la solucion la dejo por si a alguien le interesa.

select a.nombre, b.nombre, c.resultado_equipo1, c.resultado_equipo2 from equipos a, equipos b, partidos c where c.id_equipo1=a.registro and c.id_equipo2=b.registro;

Ahora tengo otro prebla con las mismas tablas tengo que mostrar los siguientes datos

Id equipo, Partidos jugados, Nombre equipo

Uso la siguiente consulta

select tabla.* from (select count(partidos.id_equipo1) as n_partidos, partidos.id_equipo1, equipos.nombre from partidos, equipos where partidos.id_equipo1 = equipos.registro group by partidos.id_equipo1 union all
select count(partidos.id_equipo2) as n_partidos, partidos.id_equipo2, equipos.nombre from partidos, equipos where partidos.id_equipo2 = equipos.registro group by partidos.id_equipo2) as tabla order by tabla.n_partidos;

El problema es que muestra los resultados del equipo 1 por un lado y los del equipo 2 por otro de forma que el mismo equipo puede salir 2 veces por ejemplo si a jugado 2 partidos como equipo y 3 como equipo 2 saldra separao y ami me interesaria que eso se sumra supongo que alomejor usando la funcion sum() pero no se como podria hacerlo


Un saludo

Última edición por cristofer-2006; 09/05/2009 a las 00:31
  #3 (permalink)  
Antiguo 09/05/2009, 02:49
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Seleccionar varias tablas

Ya e encontrado la solucion tambien para lo ultimo que pregunte la dejo por si a alguien le interesa.

select sum(n_partidos) as j_partidos, nombre from(select count(partidos.id_equipo1) as n_partidos, partidos.id_equipo1, equipos.nombre from partidos, equipos where partidos.id_equipo1 = equipos.registro group by partidos.id_equipo1 union all
select count(partidos.id_equipo2) as n_partidos, partidos.id_equipo2, equipos.nombre from partidos, equipos where partidos.id_equipo2 = equipos.registro group by partidos.id_equipo2) as tabla group by id_equipo1 order by j_partidos desc;

Un saludo.
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 02:05.