Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 21-jul-2008, 13:48   #1 (permalink)
turokoscar ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Triste 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
turokoscar está desconectado   Responder Citando
Antiguo 21-jul-2008, 15:09   #2 (permalink)
rynkydynky no se puede cailificar en este momento
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 123
Enviar un mensaje por MSN a rynkydynky
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.
rynkydynky está desconectado   Responder Citando
Antiguo 21-jul-2008, 15:59   #3 (permalink)
turokoscar ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
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.
turokoscar está desconectado   Responder Citando
Antiguo 21-jul-2008, 21:10   #4 (permalink)
rynkydynky no se puede cailificar en este momento
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 123
Enviar un mensaje por MSN a rynkydynky
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.
rynkydynky está desconectado   Responder Citando
Antiguo 22-jul-2008, 06:58   #5 (permalink)
K-SuMa ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2007
Mensajes: 21
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...
K-SuMa está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:46.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93