Principales respuestas
Ayuda en consulta Suma de valores

Pregunta
-
Necesito su ayuda
tengo una tabla como la siguiente
codigo_dele nombres Salario fecha
01 juan 15 01/02/2016
01 ivan 13 02/02/2016
01 toño 15 03/02/2016
01 lupe 13 04/02/2016
02 juan1 15 01/02/2016
02 ivan1 13 02/02/2016
02 toño1 15 03/02/2016
03 lupe1 13 04/02/2016
De esto necesito aquellos salarios por codigo_delegación que sumen 28 empezando por los mas viejos
Es decir algo como el siguiente resultado
codigo_dele nombres Salario fecha
01 juan 15 01/02/2016
01 ivan 13 02/02/2016
02 juan1 15 01/02/2016
02 ivan1 13 02/02/2016
Les agradeceré mucho su ayuda
Respuestas
-
El ejercicio es simple de resolver si puedes obtener el valor acumulado de manera escalonada, por ejemplo:
WITH T AS ( SELECT t1.codigo_dele, t1.nombres, t1.Salario, t1.fecha, SUM(t1.Salario) OVER(PARTITION BY t1.codigo_dele ORDER BY t1.fecha) AS [Acumulado], SUM(t1.Salario) OVER(PARTITION BY t1.codigo_dele) AS [Total] FROM NombreTabla t1 ) SELECT t1.codigo_dele, t1.nombres, t1.Salario, t1.fecha FROM T t1 WHERE t1.Acumulado <= 28 AND t1.Total >= 28; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Jorge Muchaypiña GutierrezMVP sábado, 4 de marzo de 2017 18:26
- Marcado como respuesta Kire for lunes, 6 de marzo de 2017 16:34
Todas las respuestas
-
El ejercicio es simple de resolver si puedes obtener el valor acumulado de manera escalonada, por ejemplo:
WITH T AS ( SELECT t1.codigo_dele, t1.nombres, t1.Salario, t1.fecha, SUM(t1.Salario) OVER(PARTITION BY t1.codigo_dele ORDER BY t1.fecha) AS [Acumulado], SUM(t1.Salario) OVER(PARTITION BY t1.codigo_dele) AS [Total] FROM NombreTabla t1 ) SELECT t1.codigo_dele, t1.nombres, t1.Salario, t1.fecha FROM T t1 WHERE t1.Acumulado <= 28 AND t1.Total >= 28; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Jorge Muchaypiña GutierrezMVP sábado, 4 de marzo de 2017 18:26
- Marcado como respuesta Kire for lunes, 6 de marzo de 2017 16:34
-