Haría así para obtener las fechas de cada ID en una fila y calcular fácilmente los DateDiff de cada actividad:
Código SQL:
Ver originalSELECT Id,
MAX(CASE WHEN actividad='Ingreso' THEN fecha ELSE NULL END) fecha_Ingreso,
MAX(CASE WHEN actividad='revisión' THEN fecha ELSE NULL END) fecha_revisión,
MAX(CASE WHEN actividad='aprobación' THEN fecha ELSE NULL END) fecha_aprobación,
MAX(CASE WHEN actividad='cierre' THEN fecha ELSE NULL END) fecha_cierre
FROM MiTabla
GROUP BY Id