Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2016, 16:05
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Tabla datos acumulados

Con un query sencillo no sale lo que necesitas, seria hacer un procedure o funcion, algo como esto:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. semana INT,
  4. productos INT,
  5. acumulado INT
  6. )
  7.  
  8.  
  9. INSERT INTO #temp (semana,productos) VALUES (1,1)
  10. INSERT INTO #temp (semana,productos) VALUES (2,3)
  11. INSERT INTO #temp (semana,productos) VALUES (3,5)
  12. INSERT INTO #temp (semana,productos) VALUES (4,3)
  13. INSERT INTO #temp (semana,productos) VALUES (5,6)
  14.  
  15.  
  16. SELECT *, IDENTITY(INT,1,1) AS rn INTO #temp2 FROM #temp
  17.  
  18. DECLARE @x INT
  19. DECLARE @acumulado INT
  20. DECLARE @producto INT
  21. SET @x=1
  22.  
  23.  
  24. while @x<=(SELECT COUNT(*) FROM #temp2)
  25. BEGIN
  26.    
  27.     SELECT @producto=productos FROM #temp2 WHERE rn=@x
  28.  
  29.  
  30.     IF (@x=1)
  31.         SELECT @acumulado=productos FROM #temp2 WHERE rn=1
  32.     ELSE
  33.         SET @acumulado=@acumulado + @producto
  34.  
  35.     UPDATE #temp2 SET acumulado=@acumulado WHERE rn=@x
  36.     SET @x=@x+1
  37. END
  38.  
  39. SELECT semana,productos,acumulado FROM #temp2

Resultado:
semana productos acumulado
1 1 1
2 3 4
3 5 9
4 3 12
5 6 18
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me