A ver... te copiare el codigo que yo utilice... en unos de los reportes que utilice... a lo mejor puede resultar muy trabajoso... pero al final me salio... y bueno hasta ahora funciona... mi reporte indicaba... El mas puntual y el menos impuntual de los trabajadores... por Area... de toda la empresa...
la forma esta igual... pero a ver si tu la aplicas y lo modificas a como quieres que te salga... Saludos espero poder ayudarte...
Código SQL:
Ver originalSELECT Phis.ta_id
, Inci.Ciclo
, Inci.ta_id
, Idef.Id_incidencias_def
, ( SELECT MIN(Inci2.Ciclo)
FROM Incidencias Inci2
WHERE Inci2.ta_id = Phis.ta_id
AND Inci2.id_incidencias_def = idef.id_incidencias_def
AND Inci2.ta_id = Inci.ta_id) AS CicloMinimo
, ( SELECT MAX(Inci2.Ciclo)
FROM Incidencias Inci2
WHERE Inci2.ta_id = Phis.ta_id
AND Inci2.id_incidencias_def = idef.id_incidencias_def
AND Inci2.ta_id = Inci.ta_id) AS CicloMaximo
-- ... (todos los campos que quieras sacar
FROM Pliegos_Historico Phis, Incidencias_Def Idef, Incidencias Inci,
WHERE Phis.ta_id = Inci.ta_id
AND Inci.ta_id_incidencia_def = Idef.id_incidencia_def
AND Phis.Ciclo = Inci.Ciclo
-- ... (Demas Filtros)