Respondida obtener la diferencia entre fecha

  • viernes, 24 de febrero de 2012 16:52
     
     

    Hola tengo la siguiente tabla y deseo obtener si los pagos son mensuale, bimestrales, trimestrales, etc y eso lo obtengo entre la diferencia de fechas de pago

    create table tabla1 (

    cod nvarchar(5) not null,

    pro nvarchar(10) not null,

    fecha_pago datetime  null

    )

     

    insert into tabla1 values('01','prod1','20100505')

    insert into tabla1 values('01','prod1','20100605')

    insert into tabla1 values('01','prod1','20100705')

    insert into tabla1 values('01','prod1','20100805')

    insert into tabla1 values('02','prod2','20110201')

    insert into tabla1 values('02','prod2','20110501')

    insert into tabla1 values('02','prod2','20110801')

    al hacer la consulta deseo obtener el siguiente resultado

    cod     pro     descripcion

    01     prod1      pago mensual

    02     prod2      pago trimestral

                                              


    maculdes

Todas las respuestas

  • viernes, 24 de febrero de 2012 19:03
     
     Respuesta propuesta Tiene código

    Veo que ya lo estás catalogando con "cod" o si no con "pro", es decir, si es mensual le pones 01 a cod, si es bimestral le pones un 02, entonces la consulta sería algo así

    Select 
         cod, 
         pro, 
         case 
              When cod = '01' Then 'pago mensual'
              When cod = '02' Then 'pago trimestral'
              When cod = '03' Then 'pago bimestral' --Supongo
         End As descripcion
    From
         Tabla1

    Si no estoy en lo correcto y no los tienes catalogados de esa manera tendrás que recurrir a cursores y checar uno por uno para hacer un DATEDIFF(Month, .., ..)
  • viernes, 24 de febrero de 2012 19:39
     
     
    me falto especificar, el COD es codigo de cliente y PROD es codigo de producto

    maculdes

  • domingo, 04 de marzo de 2012 12:23
    Moderador
     
     Respondida

    Hola.

    Esto que requieres es muy extraño. Podrías obtener una media del número de días entre los pagos, pero no creo que eso tenga mucho sentido para identificar la determinar la frecuencia, en todo caso valdrá para auditarlo.

    En cualquier caso, hazlo así, agrupas por producto o código y obtienes la media de días entre un pago y el siguiente, algo que completarías con un running total.

    Acláranoslo, inténtalo por ti mismo y si no lo logras, nos dices.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

  • domingo, 04 de marzo de 2012 14:36
     
     
    Gracias !!!!, lo hare y si me sale pondre la consulta.

    maculdes