Y si tienes sólo INGRESO y SALIDA, yo haría esto:
Código SQL
[-]SELECT
CAMPO1, CAMPO2, CAMPO3, CAMPO4,
MAX(CASE WHEN TIPO = 'INGRESO' THEN FECHA ELSE NULL END) AS INGRESO,
MAX(CASE WHEN TIPO = 'SALIDA' THEN FECHA ELSE NULL END) AS SALIDA
FROM TABLA
GROUP BY
CAMPO1, CAMPO2, CAMPO3, CAMPO4
Cuéntanos cómo te ha ido.
Saludos