gnzsoloyo, es la que está más arriba, sólo que probé con LEFT en la quinta línea como me había dicho Heimish2000. Sigo obteniendo los mismos registros que antes, es decir los certificados que no tienen TODAS las inasistencias asociadas, pero al menos tienen una. Eso es correcto y está bien que me los devuelva, pero además necesito los que no tengan ninguna inasistencia asociada.
Código MySQL:
Ver originalINNER JOIN empleado
ON certificado_medico.id_empleado
= empleado.id_empleado
INNER JOIN certificado_medico
ON inasistencia.id_empleado
= certificado_medico.id_empleado
WHERE inasistencia.fecha
BETWEEN certificado_medico.fecha_inicio_vigencia
AND DATE_ADD(certificado_medico.fecha_inicio_vigencia
, INTERVAL(certificado_medico.dias_reposo
- 1) day) GROUP BY certificado_medico.id
) AS cantidad_inasistencias
ON cantidad_inasistencias.id_certificado_medico
= certificado_medico.id
WHERE dias_reposo
> cantidad_inasistencias.cantidad
Probé distintas combinaciones de LEFT, RIGHT e INNER en todos los JOINs pero no logro lo que necesito.
Saludos.