Cómo obtener este resultado (actualizar la fecha según el registro que sigue)

13/03/2009 - 12:34 por DT | Informe spam
Hola
Tengo dos tablas, T1 y T2. T1 Tiene los campos de Fecha y Valor, fecha
corresponde a una lista de fechas que puede ser un mes entero, un año entero
(en orden), Valor es un campo vacío que debe tener los valores de T2.

Tengo una tabla con este contenido:
ID Fecha Valor
BN 01/01/2009 NULL
BN 01/02/2009 NULL
BN 01/03/2009 NULL
BN 01/04/2009 NULL
...

La T2 tiene los siguientes campos:
ID Fecha_Inicio PRECIO
BN 12/01/2008 100
BN 01/03/2009 105
BN 01/04/2009 200

Tengo que tener este resultado en T1
ID Fecha Valor
BN 01/01/2009 100
BN 01/02/2009 100
BN 01/03/2009 105
BN 01/04/2009 200

El pseudocódigo sería:
Actualizar T1 - Poner en VALOR
(
El PRECIO desde la Fecha de INICIO hasta la FECHA de Cada producto)

Sabiendo que la fecha de inicio siguiente -1 es la fecha en que termina el
producto (campo no existe)

1000 gracias, espero haber sido claro... :_)
 

Leer las respuestas

#1 Carlos Sacristan
13/03/2009 - 12:54 | Informe spam
Para una posible solución te vendría bien una tabla de números. La idea
sería hacer el JOIN entre T1 y T2 por el ID, y por otro lado hacer un JOIN
entre el resultado de calcular el nº de días entre la fecha y la Fecha_inicio
y el número de la tabla en cuestión. Algo como...

SELECT t1.ID, DATEADD(d, n.numero, fecha_inicio), t1.valor
FROM T1 INNER JOIN T2 ON T1.ID=T2.ID
INNER JOIN t_numeros n ON n.numero BETWEEN 0 AND DATEDIFF(d,
fecha_inicio, fecha)

No lo he probado y está pensado deprisa y corriendo, pero por ahí va la idea.
Un saludo
-
www.navento.com
Servicios de Localización GPS


"DT" wrote:

Hola
Tengo dos tablas, T1 y T2. T1 Tiene los campos de Fecha y Valor, fecha
corresponde a una lista de fechas que puede ser un mes entero, un ao entero
(en orden), Valor es un campo vaco que debe tener los valores de T2.

Tengo una tabla con este contenido:
ID Fecha Valor
BN 01/01/2009 NULL
BN 01/02/2009 NULL
BN 01/03/2009 NULL
BN 01/04/2009 NULL
...

La T2 tiene los siguientes campos:
ID Fecha_Inicio PRECIO
BN 12/01/2008 100
BN 01/03/2009 105
BN 01/04/2009 200

Tengo que tener este resultado en T1
ID Fecha Valor
BN 01/01/2009 100
BN 01/02/2009 100
BN 01/03/2009 105
BN 01/04/2009 200

El pseudocdigo sera:
Actualizar T1 - Poner en VALOR
(
El PRECIO desde la Fecha de INICIO hasta la FECHA de Cada producto)

Sabiendo que la fecha de inicio siguiente -1 es la fecha en que termina el
producto (campo no existe)

1000 gracias, espero haber sido claro... :_)

Preguntas similares