Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/10/2013, 03:05
roberte_79
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Consulta agrupada de eventos de tabla

Cita:
Iniciado por GeriReshef Ver Mensaje
Haz la consulta con Left Join,
y pon todas las condiciones en la On (en lugar de la Where).

Cuando se trata de Inner Join no hay ninguna diferencia entre el On y el Where,
pero en caso de Left el resultado es diferente: cuando es en el Where - la condición elimina todos los resultados que no coinciden con en el lado del Left.
Gracias GeriReshef:

No entendí muy bien tu solución así que he probado a modificar la consulta como propones y, teniendo en cuenta que las condiciones del WHERE no se podian poner tal cual en el ON (hay que relacionar dos campos de cada una de las tablas), la consulta quedaría tal que así:

Código:
SELECT TblEntradas.Nombre AS Nombre,TblEntradas.Hora AS Entrada,TblSalidas.Hora AS Salida
FROM TablaAccesos AS TblEntradas
LEFT JOIN TablaAccesos AS TblSalidas
ON TblEntradas.Nombre=TblSalidas.Nombre AND TblEntradas.Evento<>TblSalidas.Evento
WHERE TblEntradas.Evento=0
y efectivamente el resultado es el esperado

Código:
Nombre	Entrada	Salida
Pepe	9:35	17:21
Juan	8:32	16:56
Tomas	10:00
Así que aquí tenéis una segunda solución. Gracias de nuevo GeriReshef