error de division entre cero

23/11/2005 - 20:14 por Enrique Rodríguez | Informe spam
Hola foro

Tengo un select como el siguiente:

SELECT A.CTS, A.Zona, A.Fecha, A.Hora, A.Aforo, B.Fecha AS Fecha2,
B.Aforo AS Aforo2, B.Aforo - A.Aforo 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 '01/08/2005' AND '07/08/2005')

quisiera que en lugar de B.Aforo - A.Aforo AS Diferencia, hacer un calculo
como este: ((B.Aforo -A.Aforo)/A.Aforo)*100 pero me marca error de division
entre cero.

Alguien me puede ayudar?

Saludos.

Enrique Rodríguez A
 

Leer las respuestas

#1 Angel Neri Cervín
23/11/2005 - 22:33 | Informe spam
El problema es que algún A.Aforo está en cero, y en este caso la división no
funciona.
Quizás te convendría poner el cálculo dentro de una función, y allí decidir
que valor devolver cuando sea cero o cuando tenga un valor.

Neri

"Enrique Rodríguez" escribió en el mensaje
news:
Hola foro

Tengo un select como el siguiente:

SELECT A.CTS, A.Zona, A.Fecha, A.Hora, A.Aforo, B.Fecha AS Fecha2,
B.Aforo AS Aforo2, B.Aforo - A.Aforo 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 '01/08/2005' AND '07/08/2005')

quisiera que en lugar de B.Aforo - A.Aforo AS Diferencia, hacer un calculo
como este: ((B.Aforo -A.Aforo)/A.Aforo)*100 pero me marca error de
division entre cero.

Alguien me puede ayudar?

Saludos.

Enrique Rodríguez A

Preguntas similares