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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Enrique Rodríguez
29/11/2005 - 01:15 | Informe spam
Excelente

Muchisimas gracias.

"A.Poblacion" escribió en
el mensaje news:%
"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



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