CREATE VIEW QF_ANORMALIDADES AS

SELECT P.LEGAJO, P.NOMBRE, P.APELLIDO,
	FJ.FECHA_JORNADA, 
	TJ.NOMBRE ANORMALIDAD, 
	AC.FICHADA FICHADAS, AC.HORARIO, 
	AUXPROJUS.DESCRIPCION JUSTIFICACION,
	(SELECT G.DESCRIPCION FROM AGRUPACION A
		INNER JOIN GRUPO G ON (G.ID_AGRUPACION = A.ID_AGRUPACION AND G.FECHA_BAJA IS NULL)
		INNER JOIN REL_GRUPO_PERSONA RGP ON (RGP.ID_GRUPO = G.ID_GRUPO AND RGP.ID_PERSONA = P.ID_PERSONA)
		WHERE A.FECHA_BAJA IS NULL AND A.ID_EMPRESA = P.ID_EMPRESA AND A.ID_AGRUPACION = 2) PLANTA,
	(SELECT G.DESCRIPCION FROM AGRUPACION A
		INNER JOIN GRUPO G ON (G.ID_AGRUPACION = A.ID_AGRUPACION AND G.FECHA_BAJA IS NULL)
		INNER JOIN REL_GRUPO_PERSONA RGP ON (RGP.ID_GRUPO = G.ID_GRUPO AND RGP.ID_PERSONA = P.ID_PERSONA)
		WHERE A.FECHA_BAJA IS NULL AND A.ID_EMPRESA = P.ID_EMPRESA AND A.ID_AGRUPACION = 3) CC,
	(SELECT G.DESCRIPCION FROM AGRUPACION A
		INNER JOIN GRUPO G ON (G.ID_AGRUPACION = A.ID_AGRUPACION AND G.FECHA_BAJA IS NULL)
		INNER JOIN REL_GRUPO_PERSONA RGP ON (RGP.ID_GRUPO = G.ID_GRUPO AND RGP.ID_PERSONA = P.ID_PERSONA)
		WHERE A.FECHA_BAJA IS NULL AND A.ID_EMPRESA = P.ID_EMPRESA AND A.ID_AGRUPACION = 4) TPERSONAL
	
FROM PROCESO_PERSONA_JORNADA PPJ
	INNER JOIN FECHA_JORNADA FJ ON (FJ.ID_FECHA_JORNADA = PPJ.ID_FECHA_JORNADA)
	INNER JOIN PERSONA P ON (P.ID_PERSONA = PPJ.ID_PERSONA AND P.FECHA_BAJA IS NULL)
	INNER JOIN ANORMALIDAD_CALCULO AC ON (AC.ID_PERSONA = PPJ.ID_PERSONA AND 
										  AC.ID_PROCESO = PPJ.ID_PROCESO AND 
										  AC.ID_FECHA_JORNADA = PPJ.ID_FECHA_JORNADA AND 
										  AC.ID_ANORMALIDAD_CALC_REEMPLAZO IS NULL)
	INNER JOIN TIPO_JUSTIFICACION TJ ON (TJ.ID_TIPO_JUSTIFICACION = AC.ID_TIPO_JUSTIFICACION)
	INNER JOIN (SELECT ID_PERSONA, ID_FECHA_JORNADA, MAX(ID_PROCESO) MAX_ID_PROCESO 
				FROM PROCESO_PERSONA_JORNADA GROUP BY ID_PERSONA,ID_FECHA_JORNADA) PPJM
				ON (PPJM.ID_PERSONA = AC.ID_PERSONA AND PPJM.ID_FECHA_JORNADA = AC.ID_FECHA_JORNADA AND PPJM.MAX_ID_PROCESO = AC.ID_PROCESO)
	LEFT JOIN (SELECT DISTINCT PRO_JUS.DESCRIPCION, PRO_JUS.ID_EX_JUSTIFICACION, PROC_PRO_JUST.ID_PROCESO
			   FROM PRO_JUSTIFICACION PRO_JUS 
			   INNER JOIN PROCESO_PRO_JUSTIFICACION PROC_PRO_JUST ON 
			   (PROC_PRO_JUST.ID_PRO_JUSTIFICACION = PRO_JUS.ID_PRO_JUSTIFICACION)) AUXPROJUS 
			   ON (AUXPROJUS.ID_PROCESO = AC.ID_PROCESO AND 
				   AUXPROJUS.ID_EX_JUSTIFICACION = AC.ID_JUSTIFICACION) ;