Consulta

23/04/2008 - 17:53 por Julio Ramos | Informe spam
Saludos Grupo, Necesito hacer una consulta y aquí están los datos.



Lo que necesito es determinar el precio de un producto en base a mi consumo.



Si yo consumo desde 0 hasta 50,000 galones pago 4.35 y si consumo de 50,000
en adelante pago 4.95



Mi escenario es el siguiente



Tabla consumo_Plantas

Mes ano consumo

3 2008 94,000

4 2008 95,000



Tabla Contrato_Refineria

RefineriaID

ContratoNumero

FechaInicio

Datetime

FechaFinal



Tb_Asignacion_Contrato_Refineria]

AsignacionID RefineriaID Desde Hasta Precio

1 1 0 50000 4.95

2 1 50000 300000 4.35



Esta es la formula que tengo que aplicar

((Consumo-50000)*4.95+50000*4.35)/Consumo



select con1.mes, con1.ano, sum(a.resul)/con1.Consumo as Transporte from (

select case when asig.desde = 0 then (con.Consumo - asig.hasta) *

asig.precio else asig.desde * asig.precio end as resul from
Vst_Contrato_Refineria

asig, dbo.Tb_Consumo_Plantas con) a, dbo.Tb_Consumo_Plantas con1

group by con1.mes, con1.ano, con1.Consumo



El codigo que tengo me funciona bien cuando tengo un solo mes en la tabla
consumo_planta,

pero si tengo mas de un mes me duplica la informacion
 

Leer las respuestas

#1 Julio Ramos
25/04/2008 - 14:54 | Informe spam
Alguna ayuda con esto por favor
"Julio Ramos" wrote in message
news:
Saludos Grupo, Necesito hacer una consulta y aquí están los datos.



Lo que necesito es determinar el precio de un producto en base a mi
consumo.



Si yo consumo desde 0 hasta 50,000 galones pago 4.35 y si consumo de
50,000 en adelante pago 4.95



Mi escenario es el siguiente



Tabla consumo_Plantas

Mes ano consumo

3 2008 94,000

4 2008 95,000



Tabla Contrato_Refineria

RefineriaID

ContratoNumero

FechaInicio

Datetime

FechaFinal



Tb_Asignacion_Contrato_Refineria]

AsignacionID RefineriaID Desde Hasta Precio

1 1 0 50000 4.95

2 1 50000 300000 4.35



Esta es la formula que tengo que aplicar

((Consumo-50000)*4.95+50000*4.35)/Consumo



select con1.mes, con1.ano, sum(a.resul)/con1.Consumo as Transporte from (

select case when asig.desde = 0 then (con.Consumo - asig.hasta) *

asig.precio else asig.desde * asig.precio end as resul from
Vst_Contrato_Refineria

asig, dbo.Tb_Consumo_Plantas con) a, dbo.Tb_Consumo_Plantas con1

group by con1.mes, con1.ano, con1.Consumo



El codigo que tengo me funciona bien cuando tengo un solo mes en la tabla
consumo_planta,

pero si tengo mas de un mes me duplica la informacion


Preguntas similares