• Viernes 8 de Noviembre de 2024, 18:53

Autor Tema:  Como Puedo Realizar Esta Consulta ?  (Leído 1351 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Como Puedo Realizar Esta Consulta ?
« en: Lunes 21 de Enero de 2008, 22:40 »
0
Tengo que realizar un SP que realice el llenado de una tabla XXX tal y como lo mustra la imagen ... pero ya intente varias cosas y me sale  :unsure:

Gracias .. por los aportes !!!!  ;)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Como Puedo Realizar Esta Consulta ?
« Respuesta #1 en: Miércoles 23 de Enero de 2008, 16:02 »
0
Solucionado !!!!!!!!!  :comp:


Código: Text
  1. DECLARE INGRESO CURSOR      
  2.    FOR SELECT  AC.CODIGO_DE_ACTIVO
  3.                 , AC.DESCRIP_CORTA_ACTIVO
  4.                 , AC.MEJORA_CORRELATIVO
  5.                 , C.CAMPO_TITULO
  6.                 , V.VALOR_CAMPO
  7.             FROM  ACTIVOS_FIJOS    AC
  8.                 , ACT_CAMPOS_VAL   V
  9.                 , ACT_CAMPO        C
  10.                 , TIPOS_DE_ACTIVOS T
  11.            WHERE AC.CODIGO_DE_ACTIVO   = V.CODIGO_DE_ACTIVO
  12.              AND C.CODIGO_TIPO_ACTIVO  = T.CODIGO_TIPO_ACTIVO
  13.              AND AC.CODIGO_TIPO_ACTIVO = T.CODIGO_TIPO_ACTIVO
  14.              AND V.CAMPO_ID            = C.CAMPO_ID
  15.              AND AC.CODIGO_DE_ACTIVO   = LTRIM(RTRIM(@CODIGO_DE_ACTIVO ))
  16.              AND V.VALOR_CAMPO  IS NOT NULL
  17.              AND V.MEJORA_CORRELATIVO = AC.MEJORA_CORRELATIVO
  18.              AND AC.MEJORA_CORRELATIVO IN (@MEJORA) -- VALIDAR SI ES CON MEJORA O TODAS LAS MEJORAS
  19.            ORDER BY AC.CODIGO_DE_ACTIVO
  20.                   , AC.MEJORA_CORRELATIVO
  21.      
  22. OPEN INGRESO
  23. FETCH INGRESO INTO @CODIGO_ACT, @DESCRIP_CORTA_ACTIVO, @MEJORA_CORRELATIVO ,@CAMPO_TITULO, @VALOR
  24.  
  25.    DECLARE @AUX VARCHAR (3)
  26.    SELECT @AUX = @MEJORA_CORRELATIVO
  27.  
  28. WHILE (@@FETCH_STATUS =0)
  29. BEGIN
  30.    SELECT @CONT = @CONT+ 1 --CONTADOR
  31.    SELECT @USER = suser_sname()
  32.  
  33.    IF @AUX <> @MEJORA_CORRELATIVO
  34.    BEGIN  
  35.        SELECT @CONT= 1
  36.        SELECT @AUX = @MEJORA_CORRELATIVO  
  37.    END
  38.    
  39.    SELECT @VAL  = 'VALOR'+ CONVERT(VARCHAR,@CONT)
  40.    SELECT @TITULO = 'CAMPO_TITULO'+ CONVERT(VARCHAR,@CONT)
  41.  
  42.    EXEC ('UPDATE #RTP_TIPOS_DE_ACTIVOS
  43.              SET  '+ @TITULO + '='+''''+ @CAMPO_TITULO +''''
  44.              +',  '+ @VAL    + '='+''''+ @VALOR +''''
  45.          +'WHERE  CODIGO_ACT ='+''''+ @CODIGO_ACT +''''
  46.          + ' AND  MEJORA     ='+''''+ @MEJORA_CORRELATIVO +''''
  47.          + ' AND  USUARIO    ='+''''+ @USER +''''  
  48.          
  49.          +'IF @@ROWCOUNT = 0
  50.            BEGIN
  51.               INSERT #RTP_TIPOS_DE_ACTIVOS
  52.                    (  USUARIO
  53.                     , CODIGO_ACT
  54.                     , MEJORA
  55.                     , DESCRIP_CORTA_ACTIVO
  56.                     , CAMPO_TITULO1
  57.                     , VALOR1
  58.                     )        
  59.               SELECT '
  60.               + ''''+ @USER + ''''
  61.               + ',' + ''''+ @CODIGO_ACT + ''''
  62.               + ',' + ''''+ @MEJORA_CORRELATIVO + ''''
  63.               + ', '+ ''''+ @DESCRIP_CORTA_ACTIVO + ''''
  64.               + ', '+ ''''+ @CAMPO_TITULO +''''
  65.               + ', '+ ''''+ @VALOR +''''
  66.              
  67.          +'END'
  68.         )
  69.  
  70. FETCH NEXT FROM INGRESO INTO @CODIGO_ACT, @DESCRIP_CORTA_ACTIVO , @MEJORA_CORRELATIVO ,@CAMPO_TITULO, @VALOR
  71. END
  72. CLOSE      INGRESO
  73. DEALLOCATE INGRESO
  74.  
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa