Ver Mensaje Individual
  #13 (permalink)  
Antiguo 14/12/2012, 12:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: Consulta que haga....

Cita:
Con respeto a la idea de la consulta es que devuelva los monitores que NO dan clase a esa hora los dias indicados.
Por eso la consulta busca los IS NULL.
Date una vuelta por el manual y lee lo que hace un LEFT JOIN (es un tema que hemos tratado muchísimas veces en el foro).
Cita:
Lo primero, he estado haciendo pruebas con 'dias' y me lo reconoce como una cadena de caracteres ya no se porque pero si por ejemplo pongo que sea igual a 'Lunes' no me devolveria la instancia que tiene como dias 'Lunes,Miercoles' .
Bueno eso es por o mismo que te he dicho:
Cita:
Lo que noto es que estás poniendo valores múltiples en la búsqueda para el campo "dias", y eso es incorrecto en cualquier caso: Si el SET tiene definidas claves multivalor, es un error gravísimo de diseño, y si no las tiene, jamás encontrará dos claves al mismo tiempo, porque el campo sólo puede tener asignado el valor de una sola a la vez.
Cuando tienes un Curso o Grupo de trabajo cuya asistencia se realiza en uno o más días, el diseño de la base es completamente diferente, pero jamás (y esto es una regla absoluta de las bases de datos relacionales), jamás se usan campos multivaluados. Sólo sirven para dar dolores de cabeza en las consultas y generan serias complicaciones de consistencia.
Vamos a ver si se entiende:
- El grupo de tareas se reune o asiste uno o más días. Eso implica que existe un diseño de horarios.
- Los Horarios componen una entidad separada, tienen una relación con el grupo de 1:N, y en ellos es donde se asientan: día de asistencia, horario, id del grupo.
- El grupo no tiene FK de horario. No lo precisa, porque un grupo no depende de un horario, sino que el horario está asignado al grupo. El horario y su validación se obtienen de un INNER JOIN.

¿se va entendiendo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)