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

Problema,no sé cómo hacer..

Estas en el tema de Problema,no sé cómo hacer.. en el foro de Mysql en Foros del Web. Tengo un problema. Yo selecciono todos los datos de la tabla FORMACIONES,tengo 15 campos,cada campo tiene 1 número..cómo hago para que compare ese numero con ...
  #1 (permalink)  
Antiguo 25/11/2005, 13:42
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Problema,no sé cómo hacer..

Tengo un problema.
Yo selecciono todos los datos de la tabla FORMACIONES,tengo 15 campos,cada campo tiene 1 número..cómo hago para que compare ese numero con los ID que hay en la tabla JUGADORES? y que de esa forma..yo selecciono 15 jugadores, suponete que en la tabla FORMACIONES,en esos 15 campos,en 1 campo está el número 23.. entonces,quiero que agarre todas las características del jugador con ID 23 de la tabla JUGADORES.

Bueno.. Hago SELECT * FROM FORMACIONES;
y después cómo hago para que si el campo ID_PILAR_IZQ (por ejemplo) de la tabla formaciones,tiene el número 34.. que se seleccione el jugador con id_jugador 34 de la tabla Jugadores?? mi idea,no sé si se puede,y no sé si está bien,pero es hacer 16 selects.. 1 que agarre todos los datos de la tabla formaciones,y los otros 15 q sean: SELECT * FROM JUGADORES WHERE id_jugador='$ID_PILAR_IZQ; y que varía la variable que va a ser =


CREATE TABLE `formaciones` (
`id_formacion` int(10) unsigned NOT NULL auto_increment,
`id_partido` int(11) NOT NULL default '0',
`id_equipo` int(11) NOT NULL default '0',
`id_pilar_izq` int(11) NOT NULL default '0',
id_hoocker` int(11) NOT NULL default '0',
`id_pilar_der` int(11) NOT NULL default '0',
`id_segundalinea_izq` int(11) NOT NULL default '0',
`id_segundalinea_der` int(11) NOT NULL default '0',
`id_ala_izq` int(11) NOT NULL default '0',
`id_ala_der` int(11) NOT NULL default '0',
`id_octavo` int(11) NOT NULL default '0',
`id_medioscrum` int(11) NOT NULL default '0',
`id_apertura` int(11) NOT NULL default '0',
`id_centro_izq` int(11) NOT NULL default '0',
`id_centro_der` int(11) NOT NULL default '0',
`id_wing_izq` int(11) NOT NULL default '0',
`id_wing_der` int(11) NOT NULL default '0',
`id_fullback` int(11) NOT NULL default '0',
PRIMARY KEY (`id_formacion`)
)

CREATE TABLE `jugadores` (
`id_jugador` int(10) unsigned NOT NULL auto_increment,
`id_pais` int(11) NOT NULL default '0',
`id_equipo` int(11) NOT NULL default '0',
`nombre` varchar(255) NOT NULL default '',
`apellidos` varchar(255) NOT NULL default '',
`edad` int(2) NOT NULL default '0',
`pases` int(2) NOT NULL default '0',
`tackle` int(2) NOT NULL default '0',
`fisico` int(2) NOT NULL default '0',
`patada` int(2) NOT NULL default '0',
`velocidad` int(2) NOT NULL default '0',
`hookeo` int(2) NOT NULL default '0',
`scrum` int(2) NOT NULL default '0',
`potencia` int(2) NOT NULL default '0',
`precio` int(11) NOT NULL default '0',
`venta` int(1) NOT NULL default '0',
`id_entrenamiento` int(11) NOT NULL default '0',
PRIMARY KEY (`id_jugador`)
)
  #2 (permalink)  
Antiguo 25/11/2005, 15:41
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Sonrisa

Bueno sobre tu consulta y lo que veo en tus tablas yo creo que primero hay que normalizar tus tablas ya que creo que asi no esta bien disenada y no podrias asociar en una sola consulta todas las posiciones de tu tabla formaciones con jugadores sino solo podrias uno a la ves:
Código HTML:
SELECT * FROM JUGADORES WHERE id_jugador=id_pilar_der
ahi recuperarias los datos de tu tabla jugadores que son que coincidan en esos dos campos (id_jugador=id_pilar_der) y segun tu disenio no se puede recuperar de todos en una sola consulta. tal vez seria pensar en otro disenio de tus tablas como jugador, posicion, y una intermedia que sea posicion-jugador, ahi no tendrias problemas de recuperar datos.
espero haber entendido lo que preguntaste. suerte, saludos
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 14:30.