Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Acumular valores de una columna en una variable

Estas en el tema de Acumular valores de una columna en una variable en el foro de SQL Server en Foros del Web. como puedo lograr esto? DECLARE @D DECIMAL SELECT sum(CASE WHEN @D=@D+CANTIDAD>60 THEN 60 ELSE @D END) FROM TABLA...
  #1 (permalink)  
Antiguo 03/08/2012, 14:32
Avatar de pablolennin  
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 1
Acumular valores de una columna en una variable

como puedo lograr esto?

DECLARE @D DECIMAL

SELECT

sum(CASE WHEN @D=@D+CANTIDAD>60 THEN 60 ELSE @D END)


FROM TABLA
__________________
No seas sabio en tu propia opinión; teme a Jehová y apártate del mal
  #2 (permalink)  
Antiguo 03/08/2012, 14:52
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Acumular valores de una columna en una variable

puedes explicar mejor que quieres hacer???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 03/08/2012, 15:10
Avatar de pablolennin  
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Acumular valores de una columna en una variable

tengo una tabla con los siguentes campos

periodo concepto cantidad
201206 0010 20
201206 0020 10
201205 0010 2
201205 0020 28
...

todos los registros de concepto 0020 quiero que se acumulen en una variable
para luego hacer la comprobación con el case when si sobre pasa los 60 conserva 60 si es menor a 60 conserva la sumatoria acumulada,
__________________
No seas sabio en tu propia opinión; teme a Jehová y apártate del mal
  #4 (permalink)  
Antiguo 03/08/2012, 15:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Acumular valores de una columna en una variable

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. periodo INT,
  4. concepto VARCHAR(20),
  5. camtidad INT
  6. )
  7.  
  8.  
  9. INSERT INTO #temp VALUES (201206,'0010',20)
  10. INSERT INTO #temp VALUES (201206,'0020',10)
  11. INSERT INTO #temp VALUES (201205,'0010',2)
  12. INSERT INTO #temp VALUES (201205,'0020',28)
  13.  
  14. DECLARE @cantidad INT
  15. SELECT @cantidad=cantidad FROM(
  16. SELECT CASE WHEN SUM(camtidad) > 60 THEN 60 ELSE SUM(camtidad) END AS cantidad FROM #temp WHERE concepto LIKE '%20%'
  17. ) t1
  18.  
  19. print @cantidad

Algo asi??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: acumular, columna, select, tabla, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.