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

Subconsultas. Obtener un dato de otra tabla dentro de un select

Estas en el tema de Subconsultas. Obtener un dato de otra tabla dentro de un select en el foro de Mysql en Foros del Web. Buenos días. Os comento un problema que tengo, creo que se podría resolver con tres o cuatro consultas a la base de datos; pero tengo ...
  #1 (permalink)  
Antiguo 12/04/2012, 04:03
liranan
Invitado
 
Mensajes: n/a
Puntos:
Subconsultas. Obtener un dato de otra tabla dentro de un select

Buenos días.

Os comento un problema que tengo, creo que se podría resolver con tres o cuatro consultas a la base de datos; pero tengo la sospecha de que se puede hacer más fácil de alguna manera.

CONTEXTO:

Página web de juegos, en la que los jugadores compiten por conseguir la mayor puntuación. Puede haber partidas de entre 2 a 4 jugadores simultáneas.

Uso php para hacer las consultas a mysql

TABLAS QUE TENGO:

usuarios: id, nombre, imagen, etc.

partidas: id, nombre del jugador 1, nombre del jugador 2, nombre del jugador 3, nombre del jugador 4, partidaComenzada, partidaTerminada, etc.

(los datos que no creo necesarios para este ejemplo los englobo en "etc")

PROBLEMA:

Cuando una partida ha sido iniciada por otro jugador, cualquiera puede unirse a ella. Para ello, en una página se muestran todas las partidas que están iniciadas y disponibles (eso es sencillo hacerlo).

El problema es que quiero que se muestre la imagen de cada una de las personas que están unidas a esa partida. Por lo que tengo que hacer dos consultas:

1ª. De la base de datos partidas extraer las partidas que han sido comenzadas. (esto lo sé hacer)

2ª. Tomar por cada partida comenzada los nombres de los usuarios, compararlos con la base de datos usuarios, y obtener de ella las imágenes correspondientes para mostrarlas por pantalla.

Muchas gracias por vuestros consejos.

Etiquetas: dato, php, select, sql, subconsultas, tabla
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 11:51.