Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/05/2013, 10:57
Avatar de Libras
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: Insertar filas vacias entre cada registro

Código SQL:
Ver original
  1. CREATE TABLE #partidas
  2. (
  3. id INT,
  4. depto INT
  5. )
  6.  
  7. CREATE TABLE #forecast
  8. (
  9. depto INT,
  10. enero INT,
  11. febrero INT
  12. )
  13.  
  14. CREATE TABLE #gastado
  15. (
  16. depto INT,
  17. gastado INT
  18. )
  19. ID | Folio | DESC. | Depto.
  20. 559 460 aaaa 65011
  21. 560 460 bbbb 65012
  22. 561 460 cccc 65012
  23.  
  24. INSERT INTO #partidas VALUES (559,65011)
  25. INSERT INTO #partidas VALUES (560,65012)
  26. INSERT INTO #partidas VALUES (561,65012)
  27.  
  28.  
  29. INSERT INTO #forecast VALUES (65011,100,200)
  30. INSERT INTO #forecast VALUES (65012,50,80)
  31. INSERT INTO #forecast VALUES (65013,300,150)
  32.  
  33.  
  34. INSERT INTO #gastado VALUES (65011,200)
  35. INSERT INTO #gastado VALUES (65012,100)
  36. INSERT INTO #gastado VALUES (65012,200)
  37.  
  38. SELECT *,ROW_NUMBER() OVER (partition BY depto,gastado ORDER BY depto,gastado) rn FROM (
  39. SELECT SUM(enero) enero , SUM(febrero) febrero ,depto,'1' AS gastado FROM #forecast WHERE depto IN
  40. (SELECT depto FROM #partidas GROUP BY depto) GROUP BY depto
  41. UNION ALL
  42. SELECT gastado, '' , depto,'2' AS gastado FROM #gastado
  43. ) AS t1 ORDER BY depto ASC

Este es un ejemplo que te puede servir, si te fijas los valores con 1 son los del query de la suma de los meses y los que tienen el 2 son los valores de la consulta gastado(que serian los espacios en blanco que necesitas)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me