Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ayuda con consulta (http://www.forosdelweb.com/f86/ayuda-con-consulta-607942/)

turokoscar 21/07/2008 13:48

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 :si:

rynkydynky 21/07/2008 15:09

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.

turokoscar 21/07/2008 15:59

Respuesta: Ayuda con consulta
 
Cita:

Iniciado por rynkydynky (Mensaje 2500837)
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.

rynkydynky 21/07/2008 21:10

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.

K-SuMa 22/07/2008 06:58

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...


La zona horaria es GMT -6. Ahora son las 23:34.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.