operacion dentro de select

26/11/2005 - 02:20 por Enrique Rodríguez | Informe spam
Tengo la siguiente consulta.

SELECT A.CTS, A.Zona, A.Fecha, A.Hora, A.Aforo, B.Fecha AS Fecha2, B.Aforo
AS Aforo2, ((B.Aforo - A.Aforo)/A.Aforo) * 100 AS Diferencia
FROM dbo.CGstat A LEFT OUTER JOIN dbo.CGstat B ON A.CTS = B.CTS AND A.Zona =
B.Zona AND DATEADD(Week, 1, A.Fecha) = B.Fecha AND A.Hora = B.Hora
WHERE (A.Fecha BETWEEN '07/08/2005' AND '14/08/2005') AND A.CTS='CT1' AND
A.Zona='Z:1'

Supongamos que A.Aforo'2 y B.Aforo15

((315-272)/272)*100 = 15.80%

pero en el resultado en el campo solo me arroja 0s o 100s

Como que tengo que decir de que tipo es el Alias "Diferencia" pero no se
como hacerlo, alguien me puede orientar?

Saludos.

Enrique Rodríguez
Monterrey, N.L.
México
 

Leer las respuestas

#1 A.Poblacion
26/11/2005 - 11:52 | Informe spam
"Enrique Rodríguez" wrote in message
news:eh$Q%
[...] ((B.Aforo - A.Aforo)/A.Aforo) * 100 [...]
pero en el resultado en el campo solo me arroja 0s o 100s



Lo que te está ocurriendo es que ambos campos son enteros, por lo que te
hace la división entera, que solo puede arrojar números enteros. Convierte
alguno de los operandos a coma flotante:

((B.Aforo - A.Aforo)/(CAST(A.Aforo AS FLOAT)) * 100

Preguntas similares