que tal , es la primera vez que mando un post en este foro, y me gustaria
saber que estoy haciendo mal en la siguiente consulta.
La tabla tiene un valor en el campo tel_tarifa_minuto, pero lo que yo quiero
es modificar el valor, de acuerdo a los parametros del case
si me devuelve los resultados, pero en la columna Total me devuelve la
operacion con el valor del campo antes de haberselo asignado en el case.
Me explico un poco mas, en la tabla tengo originalmente:
tel_pais tel_area_code tel_duracion tel_tarifa_minuto
01 01 2
1.5
en la consulta resultante devuelve
tel_pais tel_area_code tel_duracion tel_tarifa_minuto
Total
01 01 2
2.8 3.0
Cuando según yo deberia devolver en Total 5.60.
SELECT hottel.tel_fecha, hotext.depto, hottel.tel_pais,
hottel.tel_area_code,
hottel.tel_telefono, hottel.tel_hora_inicio, hottel.tel_duracion,
tel_tarifa_minuto case
when hottel.tel_pais='01' and hottel.tel_area_code='01 ' then 2.8
when hottel.tel_pais='01' and hottel.tel_area_code='00 ' then 2.0
when hottel.tel_pais='01' and hottel.tel_area_code='044 ' then 6.0
else 3.0
END,
( tel_tarifa_minuto * hottel.tel_duracion) as Total,
hottel.tel_num_ext,hottel.tel_observaciones as Descripcion
FROM hottel,hotext
where rtrim(ltrim(hottel.tel_num_ext))=rtrim(ltrim(hotext.num_ext)) and
hottel.tel_fecha>='20030101' and hottel.tel_fecha<='20030115' and
hotext.depto='CXC'
Gracias por su ayuda
Sergio.
Leer las respuestas