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

ROW Problemas

Estas en el tema de ROW Problemas en el foro de SQL Server en Foros del Web. Estimados Amigos necesito una ayuda, tengo una consulta quiero ponerle a mi consulta enumerar mi row pero antes del row quiero ponerle 6 ceros "0000001" ...
  #1 (permalink)  
Antiguo 16/06/2014, 08:53
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 1
Información ROW Problemas

Estimados Amigos necesito una ayuda, tengo una consulta quiero ponerle a mi consulta enumerar mi row pero antes del row quiero ponerle 6 ceros "0000001" y despues el row,
que quede mas omenos a asi
0000001
0000002
0000003
0000010
ya ven esta ocacion el numero diez ocupa con 5 ceros

Código SQL:
Ver original
  1. SELECT  
  2. '0000'+ROW_NUMBER() OVER (ORDER BY NOMBRE), NOMBRE FROM ALUMNO
  #2 (permalink)  
Antiguo 16/06/2014, 09:05
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: ROW Problemas

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(20)
  2. SET @cadena='2'
  3. SELECT replicate('0',7-len(@cadena)) + @cadena
  4. 0000002
  5.  
  6. DECLARE @cadena VARCHAR(20)
  7. SET @cadena='20'
  8. SELECT replicate('0',7-len(@cadena)) + @cadena
  9. 0000020

aplica algo como esto :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/06/2014, 12:06
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 1
Información Respuesta: ROW Problemas

Hola gracias por la ayuda, tengo una consulta como lo pongo el row ???

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(15)
  2.  
  3. SET @cadena='ROW_NUMBER() OVER (ORDER BY NOMBRE)'
  4. SELECT replicate('0',7-len(@cadena)) + @cadena
  #4 (permalink)  
Antiguo 16/06/2014, 12:26
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: ROW Problemas

Código SQL:
Ver original
  1. SELECT replicate('0',7-len(rn)) + rn AS cadena, nombre FROM
  2. (
  3. SELECT  
  4. ROW_NUMBER() OVER (ORDER BY NOMBRE) rn , NOMBRE FROM ALUMNO
  5. ) AS t1

Tendrias que hacer algo asi :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 16/06/2014, 12:46
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: ROW Problemas

Hola gracias por la ayuda, tengo una consulta como lo pongo el row ???

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(15)
  2.  
  3. SET @cadena='ROW_NUMBER() OVER (ORDER BY NOMBRE)'
  4. SELECT replicate('0',7-len(@cadena)) + @cadena
hola gracias pero ahoa no me esta botando lo que yo quiero con los ceros adelante
0000001
0000010

ayudame porfa
  #6 (permalink)  
Antiguo 16/06/2014, 13:40
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: ROW Problemas

que query estas ejecutando y que te regresa??? prueba con algo asi:

Código SQL:
Ver original
  1. SELECT replicate('0',7-len(rn)) + CONVERT(VARCHAR(20),rn) AS cadena, nombre FROM
  2. (
  3. SELECT  
  4. ROW_NUMBER() OVER (ORDER BY NOMBRE) rn , NOMBRE FROM ALUMNO
  5. ) AS t1
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 16/06/2014, 14:03
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 1
Información Respuesta: ROW Problemas

Hola gracias por la ayuda, tengo una consulta como lo pongo el row ???

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(15)
  2.  
  3. SET @cadena='ROW_NUMBER() OVER (ORDER BY NOMBRE)'
  4. SELECT replicate('0',7-len(@cadena)) + @cadena
hola gracias pero ahoa no me esta botando lo que yo quiero con los ceros adelante
0000001
0000010

ayudame porfa

Hola LIbras muchas gracias por tu apoyo el script que estoy utilizando es este
no me funciona porfa
Código SQL:
Ver original
  1. SELECT 'D054790500001' +'  ' + '001'+'0000' + A.ALUMNO+nombre,replicate('0',7-len(rn)) + CONVERT(VARCHAR(20),rn) +'20499571144'+'0'+'0000'+
  2. CASE    WHEN Len (A.NOMBRE)<=20 THEN (rtrim(A.NOMBRE)+replicate(' ', 20 - Len(A.NOMBRE)))
  3.         ELSE SUBSTRING(A.NOMBRE,1,20)+ '' END+
  4. CASE    WHEN Len (CA.DESCRIPCION)<=13 THEN (rtrim(CA.DESCRIPCION)+replicate(' ', 13 - Len(CA.DESCRIPCION)))
  5.         ELSE SUBSTRING(CA.DESCRIPCION,1,13)+ '' END+
  6. ' '+'G'+
  7. CASE    WHEN Len ((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))   )<=15
  8. THEN (rtrim((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))    ) )+
  9. replicate(' ', 15 - Len((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ))
  10.         ELSE SUBSTRING((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) +(CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ,1,15)+ '' END +
  11. CO.TIPO_CONCEPTO + '0000' + CAST(O.MONTO AS VARCHAR(10))+'00'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'00000000'+'0'+'20140514'+
  12. CONVERT(VARCHAR,O.FECHA_VENCIMIENTO, 112)+'015'+'               '+'*',O.INSTITUCION, O.CANTIDAD_TOTAL
  13. FROM
  14. (
  15. SELECT  
  16.  'D054790500001' +'  ' + '001'+'0000' + A.ALUMNO +ROW_NUMBER() OVER (ORDER BY NOMBRE) rn+'20499571144'+'0'+'0000'+
  17. CASE    WHEN Len (A.NOMBRE)<=20 THEN (rtrim(A.NOMBRE)+replicate(' ', 20 - Len(A.NOMBRE)))
  18.         ELSE SUBSTRING(A.NOMBRE,1,20)+ '' END+
  19. CASE    WHEN Len (CA.DESCRIPCION)<=13 THEN (rtrim(CA.DESCRIPCION)+replicate(' ', 13 - Len(CA.DESCRIPCION)))
  20.         ELSE SUBSTRING(CA.DESCRIPCION,1,13)+ '' END+
  21. ' '+'G'+
  22. CASE    WHEN Len ((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))   )<=15
  23. THEN (rtrim((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))    ) )+
  24. replicate(' ', 15 - Len((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ))
  25.         ELSE SUBSTRING((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) +(CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ,1,15)+ '' END +
  26. CO.TIPO_CONCEPTO + '0000' + CAST(O.MONTO AS VARCHAR(10))+'00'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'00000000'+'0'+'20140514'+
  27. CONVERT(VARCHAR,O.FECHA_VENCIMIENTO, 112)+'015'+'               '+'*',O.INSTITUCION, O.CANTIDAD_TOTAL
  28.  
  29. FROM         OBLIGACIONES O INNER JOIN
  30.                       PERSONA  P ON O.PERSONA = P.PERSONA INNER JOIN
  31.                       ALUMNO A ON A.ALUMNO = P.PERSONA INNER JOIN
  32.                       INSTITUCION I ON I.INSTITUCION = O.INSTITUCION INNER JOIN
  33.                       CARRERA CA ON CA.CARRERA = O.CARRERA INNER JOIN ALUMNO_CARRERA_PERIODO ACP
  34. ON ACP.ALUMNO=A.ALUMNO INNER JOIN CONCEPTO CO ON CO.CONCEPTO=O.CONCEPTO
  35. WHERE
  36.    (O.CANTIDAD_TOTAL IS NULL)
  37.  AND (O.FECHA_VENCIMIENTO < = '30/06/2014')  
  38.    AND (O.CONCEPTO = '2621')
  39.    AND (O.INSTITUCION = '54')
  40. ) AS t1
  #8 (permalink)  
Antiguo 16/06/2014, 16:58
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: ROW Problemas

No me sle estoy que lo pongo asi
Código SQL:
Ver original
  1. SELECT  'D054790500001' +'  ' + '001'+'0000' + A.ALUMNO +
  2. CASE    WHEN Len (rn)<=15 THEN (rtrim(rn) + replicate('0',7-len(rn)) + CONVERT(VARCHAR(15),rn))
  3.         ELSE SUBSTRING(rn,1,15)+ '' END+
  4.  '20499571144'+'0'+'0000'+
  5. CASE    WHEN Len (A.NOMBRE)<=20 THEN (rtrim(A.NOMBRE)+replicate(' ', 20 - Len(A.NOMBRE)))
  6.         ELSE SUBSTRING(A.NOMBRE,1,20)+ '' END+
  7. CASE    WHEN Len (CA.DESCRIPCION)<=13 THEN (rtrim(CA.DESCRIPCION)+replicate(' ', 13 - Len(CA.DESCRIPCION)))
  8.         ELSE SUBSTRING(CA.DESCRIPCION,1,13)+ '' END+
  9. ' '+'G'+
  10. CASE    WHEN Len ((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))   )<=15
  11. THEN (rtrim((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ) )+
  12. replicate(' ', 15 - Len((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ))
  13.         ELSE SUBSTRING((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) +(CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ,1,15)+ '' END +
  14. CO.TIPO_CONCEPTO + '0000' + CAST(O.MONTO AS VARCHAR(10))+'00'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'00000000'+'0'+'20140514'+
  15. CONVERT(VARCHAR,O.FECHA_VENCIMIENTO, 112)+'015'+'               '+'*',O.INSTITUCION, O.CANTIDAD_TOTAL FROM
  16. (
  17. SELECT  
  18. 'D054790500001' +'  ' + '001'+'0000' + A.ALUMNO + ROW_NUMBER() OVER (ORDER BY A.NOMBRE) rn +  '20499571144'+'0'+'0000'+
  19. CASE    WHEN Len (A.NOMBRE)<=20 THEN (rtrim(A.NOMBRE)+replicate(' ', 20 - Len(A.NOMBRE)))
  20.         ELSE SUBSTRING(A.NOMBRE,1,20)+ '' END+
  21. CASE    WHEN Len (CA.DESCRIPCION)<=13 THEN (rtrim(CA.DESCRIPCION)+replicate(' ', 13 - Len(CA.DESCRIPCION)))
  22.         ELSE SUBSTRING(CA.DESCRIPCION,1,13)+ '' END+
  23. ' '+'G'+
  24. CASE    WHEN Len ((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))   )<=15
  25. THEN (rtrim((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ) )+
  26. replicate(' ', 15 - Len((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) + (CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ))
  27.         ELSE SUBSTRING((CAST(ACP.GRUPO  AS VARCHAR(10)))+(CAST(O.PERIODO AS VARCHAR(10))) +(CAST(O.NUMERO_CUOTA AS VARCHAR(10)))  ,1,15)+ '' END +
  28. CO.TIPO_CONCEPTO + '0000' + CAST(O.MONTO AS VARCHAR(10))+'00'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'  '+'000000000'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'0000000000'+CAST(O.MONTO AS VARCHAR(10))+'00'+'00000000'+'0'+'20140514'+
  29. CONVERT(VARCHAR,O.FECHA_VENCIMIENTO, 112)+'015'+'               '+'*',O.INSTITUCION, O.CANTIDAD_TOTAL FROM ALUMNO
  30. ) AS t1
  31. FROM         OBLIGACIONES O INNER JOIN
  32.                       PERSONA  P ON O.PERSONA = P.PERSONA INNER JOIN
  33.                       ALUMNO A ON A.ALUMNO = P.PERSONA INNER JOIN
  34.                       INSTITUCION I ON I.INSTITUCION = O.INSTITUCION INNER JOIN
  35.                       CARRERA CA ON CA.CARRERA = O.CARRERA INNER JOIN ALUMNO_CARRERA_PERIODO ACP
  36. ON ACP.ALUMNO=A.ALUMNO INNER JOIN CONCEPTO CO ON CO.CONCEPTO=O.CONCEPTO
  37. WHERE
  38.    (O.CANTIDAD_TOTAL IS NULL)
  39.  AND (O.FECHA_VENCIMIENTO > = '30/06/2014')  
  40.    AND (O.CONCEPTO = '2621')
  41.    AND (O.INSTITUCION = '54')  ) AS t1
  #9 (permalink)  
Antiguo 17/06/2014, 07:37
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: ROW Problemas

Y a todo ese codigo cual es el error, porque dices que no sale, que resultado te arroja???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: row, select
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 12:57.