SELECT
CAMPO1, CAMPO2, CAMPO3, CAMPO4,
MAX(CASE WHEN TIPO = 'INGRESO' THEN TIPO ELSE NULL END) AS TIPO1,
MAX(CASE WHEN TIPO = 'INGRESO' THEN FECHA ELSE NULL END) AS FECHA1,
MAX(CASE WHEN TIPO = 'SALIDA' THEN TIPO ELSE NULL END) AS TIPO2,
MAX(CASE WHEN TIPO = 'SALIDA' THEN FECHA ELSE NULL END) AS FECHA2
FROM TABLA
GROUP BY
CAMPO1, CAMPO2, CAMPO3, CAMPO4