Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2014, 02:48
Sarlit
 
Fecha de Ingreso: diciembre-2014
Mensajes: 111
Antigüedad: 9 años, 11 meses
Puntos: 9
MAX, GROUP BY y campos que no quiero agrupar

Hola amigos,

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
  1. SELECT OfcContratosFormacion.IDContratoFormacion,
  2. OficinasISC.Nombre AS Asesoria,
  3. AC_Empresa.Nombre AS Empresa,
  4. AC_Alumno.Nombre AS Trabajador,
  5. MAX(A.FchInicio) AS FchInicio,
  6. B.AnioContrato
  7. FROM AC_Alumno
  8. INNER JOIN AC_Empresa
  9. ON AC_Alumno.IDACEmpresa = AC_Empresa.IDACEmpresa
  10. INNER JOIN OfcContratosFormacion
  11. ON AC_Alumno.IDACAlumno = OfcContratosFormacion.IDACAlumno
  12. AND AC_Empresa.IDACEmpresa = OfcContratosFormacion.IDACEmpresa
  13. INNER JOIN OfcContratosFormacion_DatosCtto A
  14. ON OfcContratosFormacion.IDContratoFormacion = A.IDContratoFormacion
  15. INNER JOIN OficinasISC
  16. ON AC_Empresa.IDOficina = OficinasISC.IDOficina
  17. AND OfcContratosFormacion.IDOficina = OficinasISC.IDOficina
  18. INNER JOIN OfcContratosFormacion_DatosCtto B
  19. ON A.FchInicio = B.FchInicio
  20. AND A.IDContratoFormacion = B.IDContratoFormacion
  21. WHERE A.FchInicio IS NOT NULL
  22. GROUP BY OfcContratosFormacion.IDContratoFormacion,
  23. OficinasISC.Nombre,
  24. AC_Empresa.Nombre,
  25. AC_Alumno.Nombre,
  26. B.AnioContrato

¿Alguna idea de que puedo hacer?

Última edición por gnzsoloyo; 11/12/2014 a las 08:58