Ver Mensaje Individual
  #3  
Antiguo 21-04-2007
hach hach is offline
Miembro
 
Registrado: mar 2007
Ubicación: Bariloche, Argentina
Posts: 44
Reputación: 0
hach Va por buen camino
se podra hacer algo asi?

No tengo como probarlo, pero se podra hacer algo asi?

Código SQL [-]
 
Select lp.* 
from ListaPrecios lp
where lp.FIVigencia= (select max(lp2.FIVigencia) from ListaPrecios lp2 
where lp2.Cod_Producto=lp.Cod_Producto
and lp2.Cod_TipoPrecio=lp.Cod_TipoPrecio
and lp2.Cod_Moneda=lp.Cod_Moneda)

o mas sencillo, en vez de tener FIVigencia reemplazalo por
FFVigencia (fecha fin vigencia)
el precio actual lo pones con FFVigencia en NULL, al cambiar precio,
insertas un registro con FFVigencia en NULL y le pones
FFVigencia con la fecha actual al registro que cambio

Entonces en el select solo haces

Código SQL [-]
 
Select lp.* 
from ListaPrecios lp
where lp.FFVigencia is NULL


al cabiar precio, dentro de una transaccion haces

update ListaPrecios set FFVigencia = CURRENTDATE
where Cod_Producto=......... and .....

insert into ListaPrecios ... con FFVigencia =NULL


Espero que te sirva la idea
Responder Con Cita