Amigo la solución que te dieron me dejo pensando y creo que lo mejor sería:
Alternativa 1:
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 DEMO
GROUP BY
CAMPO1, CAMPO2, CAMPO3, CAMPO4
Resultado Alternativa 1:
Cita:
CAMPO1 CAMPO2 CAMPO3 CAMPO4 INGRESO SALIDA
1111 17/04/2013 222 NOMBRE 18/04/2013 NULL
1111 18/04/2013 222 NOMBRE NULL 19/04/2013
|
Alternativa 2:
Código SQL
[-]
SELECT
TABLA.CAMPO1,
TABLA.CAMPO2,
TABLA.CAMPO3,
TABLA.CAMPO4,
TABLA.TIPO,
TABLA.FECHA,
TABLA2.TIPO,
TABLA2.FECHA
FROM TABLA
LEFT OUTER JOIN TABLA TABLA2 ON
(TABLA2.CAMPO1 = TABLA.CAMPO1) AND
(TABLA2.TIPO = 'SALIDA')
WHERE (TABLA.TIPO = 'INGRESO')
Resultado Alternativa 2:
Cita:
CAMPO1 CAMPO2 CAMPO3 CAMPO4 TIPO FECHA TIPO1 FECHA1
1111 17/04/2013 222 NOMBRE INGRESO 18/04/2013 SALIDA 19/04/2013
|
Es solo otra opinión...
Saludos cordiales