algo asi hice, pero queria algo mas "elegante". GRacias

PEPE
  ----- Original Message ----- 
  From: GVOA (Gustavo Daniel Anaya) 
  To: vbusers List Member 
  Sent: Tuesday, November 20, 2012 3:16 PM
  Subject: [vbusers] Help ayuda en Consulta SQL


  Para ser más prolijos sería algo así:

   

  Case when unidad_duracion = 'm' then  

  dateadd(m,  tiempo_duracion,  fecha_inicio)

  else case when unidad_duracion = 'y' then 

  dateadd(yy,  tiempo_duracion,  fecha_inicio)

              else case when unidad_duracion = 'd' then

  dateadd(d,  tiempo_duracion,  fecha_inicio)

            end end end

   

  Saludos,

   

  From: [email protected] [mailto:[email protected]] On Behalf Of GVOA 
(Gustavo Daniel Anaya)
  Sent: martes, 20 de noviembre de 2012 05:04 p.m.
  To: vbusers List Member
  Subject: [vbusers] Help ayuda en Consulta SQL

   

  Hola pepe, 

   

  Rapidamente, si no funciona tomando el valor de un campo de la base de datos, 
se me ocurre que podrías hacer algo así aunque no es muy "comodo":

   

  SELECT        id_contrato, No_Contrato, tiempo_duracion, unidad_duracion, 
fecha_inicio, Monto_CUC, Monto_MN, fk_tipo_contrato, 

   

  Case when unidad_duracion = 'm' then  

  dateadd(m,  tiempo_duracion,  fecha_inicio)

  when unidad_duracion = 'y' then 

  dateadd(y,  tiempo_duracion,  fecha_inicio)

              when unidad_duracion = 'd' then

  dateadd(d,  tiempo_duracion,  fecha_inicio)

  else

              '....'

              end

             

  FROM            Contratos 

   

   

   

   

  From: [email protected] [mailto:[email protected]] On Behalf Of Pepe Ballaga
  Sent: martes, 20 de noviembre de 2012 04:37 p.m.
  To: vbusers List Member
  Subject: [vbusers] Help ayuda en Consulta SQL

   

  Holaa amigos tengo un problema con la funcion dateadd en una vista pues se 
como utilizarla normalmente dateadd( month, 3, fechainicio). Eso esta claro, el 
problema esta cuando la parte de month quiero que la obtenga de un campo de la 
bd de datos. La consulta que estoy haciendo es la siguiente y me da error: 

   

  SELECT        id_contrato, No_Contrato, tiempo_duracion, unidad_duracion, 
fecha_inicio, Monto_CUC, Monto_MN, fk_tipo_contrato, dateadd(unidad_duracion,  
tiempo_duracion,  fecha_inicio)
  FROM            Contratos 

   

  Me dice que unidad_duracion no es un parametro posible, deseo que la unidad 
de duracion que esta en el registro sea la que tome para construir la consulta. 

   

  Ojala me haya explicado bien. Muchas gracias

   

  PEPE

   

Responder a