Estoy intentando hacer una consulta que une varios campos de varias tablas pero que de una tabla en concreto con los campos 'AnioContrato' y 'FchInicio' me haga el MAX(FchInicio) y me muestre el AnioContrato de esa FchInicio.
El problema es que me pide meter el AnioContrato en el GROUP BY (con lo que no me descarta las FchInicio de otros años) o meterlo en una función de agregado (Lo que causa que el AnioContrato se "calcule" en vez de usarse el asociado a FchInicio)
Les dejo el código hasta ahora
Código SQL:
Ver original
SELECT OfcContratosFormacion.IDContratoFormacion, OficinasISC.Nombre AS Asesoria, AC_Empresa.Nombre AS Empresa, AC_Alumno.Nombre AS Trabajador, MAX(A.FchInicio) AS FchInicio, B.AnioContrato FROM AC_Alumno INNER JOIN AC_Empresa ON AC_Alumno.IDACEmpresa = AC_Empresa.IDACEmpresa INNER JOIN OfcContratosFormacion ON AC_Alumno.IDACAlumno = OfcContratosFormacion.IDACAlumno AND AC_Empresa.IDACEmpresa = OfcContratosFormacion.IDACEmpresa INNER JOIN OfcContratosFormacion_DatosCtto A ON OfcContratosFormacion.IDContratoFormacion = A.IDContratoFormacion INNER JOIN OficinasISC ON AC_Empresa.IDOficina = OficinasISC.IDOficina AND OfcContratosFormacion.IDOficina = OficinasISC.IDOficina INNER JOIN OfcContratosFormacion_DatosCtto B ON A.FchInicio = B.FchInicio AND A.IDContratoFormacion = B.IDContratoFormacion WHERE A.FchInicio IS NOT NULL GROUP BY OfcContratosFormacion.IDContratoFormacion, OficinasISC.Nombre, AC_Empresa.Nombre, AC_Alumno.Nombre, B.AnioContrato
¿Alguna idea de que puedo hacer?