Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/09/2010, 16:06
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Condición para que se muestren registros por fecha

Cita:
Iniciado por flaviovich Ver Mensaje
leonardo_josue, me parece que estas tomando mal las fechas.
En tu ejemplo, no puedes tomar la fecha 23 si @Fecha = '2010-09-02', porque el 23 es una fecha posterior.
Bueno, LHG tiene la ultima palabra.
Flaviovich: Si lo que comentas es correcto entonces ambos estamos equivocados, ya que con los datos que pongo de ejemplo tu consulta siempre regresaría el precio del día 25, ya que como mencioné en mi post nunca concideras la fecha de consulta. Haciendo la corrección creo que sería más o menos así:

Código SQL:
Ver original
  1. DECLARE @Fecha datetime
  2. SET @Fecha = '20100923'
  3. SELECT T1.*
  4. FROM TuTabla T1
  5. INNER JOIN (    
  6.         SELECT ItemCode, MAX(ValidFrom) ValidFrom
  7.         FROM TuTabla
  8.         WHERE ValidFrom <= @Fecha --Para considerar la fecha de consulta    
  9.         GROUP BY ItemCode
  10. ) T2 ON T1.ItemCode = T2.ItemCode AND T1.ValidFrom = T2.ValidFrom

Con esta consulta y de acuerdo a los datos que pongo de ejemplo entonces del 01 hasta el 22 pondrá el precio del 01, del 23 al 24 pondrá el precio del día 23 y del 25 en adelante pondrá la fecha del 25, pero como dices, LHG es quien tiene la última palabra.

Saludos
Leo.