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

Me tiro de los pelos: LEFT JOIN Y MYSQL

Estas en el tema de Me tiro de los pelos: LEFT JOIN Y MYSQL en el foro de Bases de Datos General en Foros del Web. Hola, ando tirandome de los pelos por una consulta en mysql. Que como el que tengo no acepta subselects pues aqui estoy, martirizandome con el ...
  #1 (permalink)  
Antiguo 13/05/2004, 10:55
 
Fecha de Ingreso: mayo-2004
Mensajes: 4
Antigüedad: 20 años
Puntos: 0
Me tiro de los pelos: LEFT JOIN Y MYSQL

Hola, ando tirandome de los pelos por una consulta en mysql. Que como el que tengo no acepta subselects pues aqui estoy, martirizandome con el left join este... ante todo deciros q soy novatazo total.

Resulta que tengo dos tablas, una tabla profesores y una tabla eventos, cada profesor puede tener un o varios eventos. La tabla profesores entre otras cosas tiene los campos ID, nombre, apellidos, edad, ... y la tabla eventos tiene los campos ID_evento, ID_profesor ID_dia y hora_inicio.

Mi intencion es intentar mediante un left join que, por ejemplo me seleccione a todos aquellos profesores que tienen libre el martes (id_dia=2) a las 5 (hora_inicio='17:00'y el jueves (id_dia=4) a las 14:00 por ejemplo. Con el dichoso left join he conseguido que me cogiera todos aquellos profesores que tenian libre el martes y el jueves a las 17:00 pero cuando en lugar de una hora ponia dos horas se me descojona... Mi consulta era esta:

SELECT ID
FROM profesores
LEFT JOIN eventos ON ( eventos.ID_profesores = profesores.ID AND eventos.ID_dia = '3' OR eventos.ID_dia = '4' ) AND (
eventos.ID_profesores = profesores.ID AND eventos.hora_inicio = '17:00'
)
WHERE ID_profesores IS NULL LIMIT 0 , 30

llevo 3 dias peleandome con el left join y no encuentro la manera... echadme una mano porfa!!
  #2 (permalink)  
Antiguo 13/05/2004, 14:06
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
SELECT ID
FROM profesores
LEFT JOIN eventos
ON eventos.ID_profesores=profesores.ID
WHERE (eventos.ID_dia = '2' OR eventos.ID_dia = '4') AND eventos.hora_inicio = '17:00' AND
eventos.hora_inicio = '18:00'
LIMIT 0 , 30

prueba algo asi, como un ejemplo.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
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 15:49.