Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/06/2014, 16:58
neocalichin
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 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