Hola Viet.
En efecto, esa parece la causa del problema.
Puedes añadir perfectamente esa condición en el
ON del
left outer join, funcionará como esperas (y el orden no es importante, puesto que es exactamente lo mismo a and b que b and a).
Otra opción, si prefieres poner la cláusula en el
Where, como tenías inicialmente, es ponerla para que solo se tenga en cuenta, si hay un registro relacionado :
Código:
select apellido , nombre , c.conexion_pedida
from empleados
left outer join conexion_requerida c on empleados.id_empleado = c.id_empleado
where c.id_empleado is null or
datepart(dy, c.fecha) = datepart(dy, getdate() - 1)
O sea la condición es :
O no hay registro relacionado (c.id_empleado es nulo), o bien ese registro relacionado es de ayer.
Saludos.