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

Ayuda con consulta

Estas en el tema de Ayuda con consulta en el foro de Mysql en Foros del Web. Hola les planteo la siguiente pregunta: tengo 3 tablas: db_alumno cod_alumno alumno db_concurso cod_concurso concurso fecha db_grupo codgrupo alumno1 alumno2 alumno3 alumno4 alumno5 cod_concurso OK, ...
  #1 (permalink)  
Antiguo 21/07/2008, 13:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda con consulta

Hola les planteo la siguiente pregunta:
tengo 3 tablas:

db_alumno
cod_alumno
alumno

db_concurso
cod_concurso
concurso
fecha

db_grupo
codgrupo
alumno1
alumno2
alumno3
alumno4
alumno5
cod_concurso

OK, ahora mi problema es este: Se organizaran corcursos 2 veces al año, en el que participaran los alumnos de todo el colegio, los alumnos tienen que agruparse en grupos de maximo 5 alumnos, para eso se muestra en el sistema la lista de todos los alumnos junto a un check box de donde escogeremos alos 5 alumnos que queremos que formen un grupo y se guardan en la tabla db_grupo.

Quisiera q al mostrar estos alumnos se haga una busqueda a la tabla bd_grupo para q los alumnos que ya esten alli no aparescan en mi lista, por q no se puede poner a un mismo alumno en 2 grupos; algo asi como :

Si alumno a se encuentra en la tabla bd_grupo entonces que no lo muestre.

Saludos espero su respuesta
  #2 (permalink)  
Antiguo 21/07/2008, 15:09
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta

Asumo que en la tabla db_grupo hay una llave foranea de la tabla db_alumno entonces lo que tienes que hacer es una consulta con una condicion mas o menos asi:

Select db_alumno.cod_alumno, db_alumno.alumno

FROM db_alumno, db_grupo

Where db_alumno.cod_alumno NOT LIKE db_grupo.od_alumno

Asi te puede servir aunque es mejor con joins.
__________________
Qubo Visual
www.mitunja.net
  #3 (permalink)  
Antiguo 21/07/2008, 15:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Ayuda con consulta

Cita:
Iniciado por rynkydynky Ver Mensaje
Asumo que en la tabla db_grupo hay una llave foranea de la tabla db_alumno entonces lo que tienes que hacer es una consulta con una condicion mas o menos asi:

Select db_alumno.cod_alumno, db_alumno.alumno

FROM db_alumno, db_grupo

Where db_alumno.cod_alumno NOT LIKE db_grupo.od_alumno

Asi te puede servir aunque es mejor con joins.
Se supone que

alumno1
alumno2
alumno3
alumno4
alumno5

son los codigos de los 5 alumnos que conformaran el grupo, asi que esas serian las llaves foraneas.
  #4 (permalink)  
Antiguo 21/07/2008, 21:10
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta

Es que esos cinco campos en la tabla db_grupo, son redundantes, te aconsejo crear una nueva tabla que sea el rompimiento entre db_grupo y db_alumno con eso puedes hacer mas facilmente la consulta que te dije.

db_grupo_alumno

Id_grupo_alumno
Cod_alumno
Cod_grupo.

Y simplemente antes de ingresar restringes que no sean mas de 5 alumnos en un mismo grupo.
__________________
Qubo Visual
www.mitunja.net
  #5 (permalink)  
Antiguo 22/07/2008, 06:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 1
De acuerdo Respuesta: Ayuda con consulta

opino lo mismo que rynkydynky (q nombre)... lo mejor es optimizar tu modelo ER xq el que usas es obsoleto e ineficiente.. aunque ese no seria el unico modelo

db_alumno
cod_alumno (PK)
alumno

db_concurso
cod_concurso (PK)
concurso
fecha

db_grupo_alumno
Id_grupo_alumno (PK)
Cod_alumno
Cod_grupo

Participaciones
cod_concurso (PK)
cod_grupo (PK)

y asi ya tienes armado todo tu modelo ER... aunque creo que faltaria una tabla con los datos basicos del grupo (como nombre etc) pero eso depende de la funcionabilidad a la que quieras llegar... bueno espero q nuestros aportes te ayuden...
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 01:36.