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

Para Libras

Estas en el tema de Para Libras en el foro de SQL Server en Foros del Web. Espero que por aca llegue completo el ejemplo de los datos de salida DATOS: 101 205 100 – CONCEPTO 20 200001 200011 101 206 200 ...
  #1 (permalink)  
Antiguo 21/11/2014, 10:12
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Para Libras

Espero que por aca llegue completo el ejemplo de los datos de salida

DATOS:
101 205 100 – CONCEPTO 20 200001 200011
101 206 200 + CONCEPTO 30 200104 200112
102 206 200 - CONCEPTO 40 200104 200112
102 209 200 + CONCEPTO 10 200104 200112
103 209 200 - CONCEPTO 20 200104 200112
103 300 200 + CONCEPTO 30 200104 200112

SALIDA: (De los 2 primeros registros)

101 205 100 – CONCEPTO 20 200001
101 205 100 – CONCEPTO 20 200002
101 205 100 – CONCEPTO 20 200003
101 205 100 – CONCEPTO 20 200004
101 205 100 – CONCEPTO 20 200005
101 205 100 – CONCEPTO 20 200006
101 205 100 – CONCEPTO 20 200007
101 205 100 – CONCEPTO 20 200008
101 205 100 – CONCEPTO 20 200009
101 205 100 – CONCEPTO 20 200010
101 205 100 – CONCEPTO 20 200011 --> Aqui estan los registros, del primer registro
101 206 200 + CONCEPTO 30 200104
101 206 200 + CONCEPTO 30 200105
101 206 200 + CONCEPTO 30 200106
101 206 200 + CONCEPTO 30 200107
101 206 200 + CONCEPTO 30 200108
101 206 200 + CONCEPTO 30 200109
101 206 200 + CONCEPTO 30 200110
101 206 200 + CONCEPTO 30 200111
101 206 200 + CONCEPTO 30 200112 -- Aqui los registros, del segundo registro
__________________
MCTS Isaias Islas
  #2 (permalink)  
Antiguo 21/11/2014, 11:20
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: 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
  #3 (permalink)  
Antiguo 24/11/2014, 15:02
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Para Libras

Agradezco mucho la informacion
__________________
MCTS Isaias Islas

Etiquetas: registros
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 22:51.