problema

02/12/2003 - 17:55 por Cristian Pavez R. | Informe spam
Saludos.
necesito darle solucion al siguiente problema. y hasta ahora los esfuerzos
no han sido los suficientes.

tengo una tabla con los siguientes valores


Producto Desde Hasta
Precio
Hotel Melia Cancun 01-01-2004 15-01-2004 100
Hotel Melia Cancun 16-01-2004 31-01-2004 150
Hotel Melia Cancun 01-02-2004 29-02-2004 200
TKT Aéreo 25-12-2003 20-01-2004 500
TKT Aéreo 21-01-2004 15-02-2004 550
TKT Aéreo 16-02-2004 10-03-2004 450
Hotel Barcelo Cancun 05-01-2004 18-01-2004 200
Hotel Barcelo Cancun 19-01-2004 12-03-2004 300

necesito entregar valores por tramos, estos datos son un conjunto de un
programa de viajes. pero como tienen diferente valores por fecha, contine
diferentes precios es decir el programa deberia entregar los siguientes
valores (suma hotel melia cancun + tkt areo + hotel barcelo cancun)

desde el 05-01-2004 hasta el 15-01-2004 valor total 800
16-01-2004 18-01-2004 850
19-01-2004 20-01-2004 950
21-01-2004 31-01-2004 1000
01-02-2004 15-02-2004 1050
16-02-2004 29-02-2004 950

desde ya si me pueden ayudar muchas gracias.

Preguntas similare

Leer las respuestas

#1 Cristian Pavez R.
02/12/2003 - 22:17 | Informe spam
gracias ulises, alguien tiene algun otra idea de como poder resolver el
problema?
desde ya gracias
Respuesta Responder a este mensaje
#2 Miguel Egea
02/12/2003 - 23:06 | Informe spam
Francamente no se si los datos son correctos o no, pero la idea quizá si que
te pueda valer. No sé que tal se comportará con muchos datos

use pruebas
Create table viajes (id int identity(1,1) primary key,
Hotel varchar(100) not null,
desde datetime,
hasta datetime,
precio money)
go
set dateformat dmy
go
insert into viajes (Hotel,desde,hasta,precio)
select 'Hotel Melia Cancun','01-01-2004','15-01-2004',100
union all
select 'Hotel Melia Cancun','16-01-2004','31-01-2004',150
union all
select 'Hotel Melia Cancun','01-02-2004','29-02-2004',200
union all
select 'TKT Aéreo','25-12-2003','20-01-2004', 500
union all
select 'TKT Aéreo','21-01-2004','15-02-2004',550
union all
select 'TKT Aéreo','16-02-2004','10-03-2004', 450
union all
select 'Hotel Barcelo Cancun','05-01-2004','18-01-2004',200
union all
Select 'Hotel Barcelo Cancun','19-01-2004','12-03-2004', 300
go
select * from viajes order by desde
select b.desde,b.hasta, sum(precio)
from (
Select desde, (select min(desde)-1 from viajes v where v.desde>a.desde)
hasta
from
(
select desde from viajes
union
select hasta from viajes
) a
) b inner join viajes v on v.desde<=b.desde and b.hasta<=v.hasta
group by b.desde,b.hasta

Saludos
Miguel Egea
"Cristian Pavez R." escribió en el mensaje
news:
Saludos.
necesito darle solucion al siguiente problema. y hasta ahora los


esfuerzos
no han sido los suficientes.

tengo una tabla con los siguientes valores


Producto Desde Hasta
Precio
Hotel Melia Cancun 01-01-2004 15-01-2004 100
Hotel Melia Cancun 16-01-2004 31-01-2004 150
Hotel Melia Cancun 01-02-2004 29-02-2004 200
TKT Aéreo 25-12-2003 20-01-2004 500
TKT Aéreo 21-01-2004 15-02-2004 550
TKT Aéreo 16-02-2004 10-03-2004 450
Hotel Barcelo Cancun 05-01-2004 18-01-2004 200
Hotel Barcelo Cancun 19-01-2004 12-03-2004 300

necesito entregar valores por tramos, estos datos son un conjunto de un
programa de viajes. pero como tienen diferente valores por fecha, contine
diferentes precios es decir el programa deberia entregar los siguientes
valores (suma hotel melia cancun + tkt areo + hotel barcelo cancun)

desde el 05-01-2004 hasta el 15-01-2004 valor total 800
16-01-2004 18-01-2004 850
19-01-2004 20-01-2004 950
21-01-2004 31-01-2004 1000
01-02-2004 15-02-2004 1050
16-02-2004 29-02-2004 950

desde ya si me pueden ayudar muchas gracias.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida