Tema: Para Libras
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/11/2014, 11:20
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: Para Libras

ahi ta :)

Código SQL:
Ver original
  1. CREATE TABLE problema (
  2.     cve_sector INT
  3.     ,cve_calculado INT
  4.     ,cve_concepto INT
  5.     ,signo VARCHAR
  6.     ,tabla SYSNAME
  7.     ,cve_subreporte INT
  8.     ,cve_periodo_inicial INT
  9.     ,cve_periodo_final INT)
  10.  
  11. INSERT INTO problema VALUES (101,205,100,'–','CONCEPTO', 20, 200001, 200011)
  12. INSERT INTO problema VALUES (101,206,200,'+','CONCEPTO', 30, 200104, 200112)
  13. INSERT INTO problema VALUES (102,206,200,'-','CONCEPTO', 40, 200104, 200112)
  14. INSERT INTO problema VALUES (102,209,200,'+','CONCEPTO', 10, 200104, 200112)
  15. INSERT INTO problema VALUES (103,209,200,'-','CONCEPTO', 20, 200104, 200112)
  16. INSERT INTO problema VALUES (103,300,200,'+','CONCEPTO', 30, 200104, 200112)
  17.  
  18.  
  19. WITH    q AS
  20.         (
  21.         SELECT  cve_sector,cve_calculado,cve_concepto,signo,tabla,cve_subreporte,cve_periodo_inicial,cve_periodo_final
  22.         FROM    problema
  23.         UNION ALL
  24.         SELECT  cve_sector,cve_calculado,cve_concepto,signo,tabla,cve_subreporte,cve_periodo_inicial + 1, cve_periodo_final
  25.         FROM    q
  26.         WHERE   cve_periodo_inicial < cve_periodo_final
  27.         )
  28. SELECT  cve_sector,cve_calculado,cve_concepto,signo,tabla,cve_subreporte,cve_periodo_inicial
  29. FROM    q ORDER BY cve_sector,cve_calculado,cve_concepto,cve_periodo_inicial
  30. OPTION  (MAXRECURSION 0)

tuve la idea de algo asi pero no recordaba como hacerlo asi que tuve que recurrir a san google :P aqui esta la liga de donde saque el query:

http://stackoverflow.com/questions/5...nge-of-numbers
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me