OBTENER REGISTROS CON LAS DOS MAS RECIENTES FECHAS
Publicado por Vic (1 intervención) el 18/04/2015 06:51:44
Que tal tengo una tabla similar a la siguiente:
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 500 | 200 | 2015/04/04 |
2013-XX-ZZ | 300 | 200 | 2015/04/04 |
2013-XX-ZZ | 600 | 100 | 2015/03/01 |
2013-XX-ZZ | 200 | 150 | 2015/02/03 |
2013-XX-ZZ | 400 | 150 | 2015/04/03 |
2014-RR-YY | 900 | 200 | 2015/04/04 |
2014-RR-YY | 500 | 100 | 2015/03/02 |
2014-RR-YY | 100 | 50 | 2015/03/02 |
2014-RR-YY | 100 | 300 | 2015/01/02 |
Necesito realizar un query en oracle con el cual pueda obtener la suma de cada campo (MONTO1, MONTO2) de los registros con la fecha más reciente y posteriormente obtener la suma de cada campo (MONTO1, MONTO2) en registros con la penultima fecha o anterior a la más reciente, para finalmente restar al registro obtenido con la fecha más reciente el valor del registro obtenido con la fecha_carga anterior.
Es decir el resultado que debería obtener es el siguiente:
TOTAL DE REGISTROS CON FECHA_CARGA MAS RECIENTE:
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 800 | 400 | 2015/04/04 |
TOTAL REGISTROS DE FECHA_CARGA ANTERIOR
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 350 | 150 | 2015/04/03 |
EL RESULTADO QUE NECESITO OBTENER
CLAVE | MONTO1 | MONTO2 |
2013-XX-ZZ | 450 | 250 |
Tengo la siguiente consulta que me trae la fecha_carga más reciente, pero no he ideado como continuar, tengo muy poca experiencia en consultas de SQL.
SELECT CLAVE, SUM(MONTO1), SUM(MONTO2), MAX(FECHA_CARGA) FROM TABLA1
Les agradezco de antemano sus sugerencias y comentarios.
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 500 | 200 | 2015/04/04 |
2013-XX-ZZ | 300 | 200 | 2015/04/04 |
2013-XX-ZZ | 600 | 100 | 2015/03/01 |
2013-XX-ZZ | 200 | 150 | 2015/02/03 |
2013-XX-ZZ | 400 | 150 | 2015/04/03 |
2014-RR-YY | 900 | 200 | 2015/04/04 |
2014-RR-YY | 500 | 100 | 2015/03/02 |
2014-RR-YY | 100 | 50 | 2015/03/02 |
2014-RR-YY | 100 | 300 | 2015/01/02 |
Necesito realizar un query en oracle con el cual pueda obtener la suma de cada campo (MONTO1, MONTO2) de los registros con la fecha más reciente y posteriormente obtener la suma de cada campo (MONTO1, MONTO2) en registros con la penultima fecha o anterior a la más reciente, para finalmente restar al registro obtenido con la fecha más reciente el valor del registro obtenido con la fecha_carga anterior.
Es decir el resultado que debería obtener es el siguiente:
TOTAL DE REGISTROS CON FECHA_CARGA MAS RECIENTE:
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 800 | 400 | 2015/04/04 |
TOTAL REGISTROS DE FECHA_CARGA ANTERIOR
CLAVE | MONTO1 | MONTO2 | FECHA_CARGA |
2013-XX-ZZ | 350 | 150 | 2015/04/03 |
EL RESULTADO QUE NECESITO OBTENER
CLAVE | MONTO1 | MONTO2 |
2013-XX-ZZ | 450 | 250 |
Tengo la siguiente consulta que me trae la fecha_carga más reciente, pero no he ideado como continuar, tengo muy poca experiencia en consultas de SQL.
SELECT CLAVE, SUM(MONTO1), SUM(MONTO2), MAX(FECHA_CARGA) FROM TABLA1
Les agradezco de antemano sus sugerencias y comentarios.
Valora esta pregunta


0