Foros del Web » Programando para Internet » ASPX (.net) »

Condicion en el gridview

Estas en el tema de Condicion en el gridview en el foro de ASPX (.net) en Foros del Web. Hola a todos, estoy haciendo una consulta a la base de datos motrandolo por un GridView, con la siguiente consulta SELECT CORPORATIVO, MAX([NOMBRE DEL CORPORATIVO]) ...
  #1 (permalink)  
Antiguo 06/10/2010, 11:14
 
Fecha de Ingreso: agosto-2010
Mensajes: 30
Antigüedad: 13 años, 9 meses
Puntos: 3
Información Condicion en el gridview

Hola a todos, estoy haciendo una consulta a la base de datos motrandolo por un GridView, con la siguiente consulta

SELECT CORPORATIVO, MAX([NOMBRE DEL CORPORATIVO]) AS [NOMBRE DEL CORPORATIVO], SUM(FMA) AS [FACT. MES ACT.], SUM([S# ATUAL]) AS [SALDO ACTUAL], SUM([>2 MESES]) AS REZAGO, MAX(EJECUTIVO) AS EJECUTIVO, MAX(AREA) AS AREA, SUM([>2 MESES]) / SUM([S# ATUAL]) AS [PORCENTAJE REZAGO] FROM dbo.BD_REZAGOS WHERE (EJECUTIVO = @ejecutivo) GROUP BY CORPORATIVO ORDER BY REZAGO DESC

el problema es que marca error porq no acepta divisiones entre cero, como puedo poner una excepcion?? o no se si sea posible poner bloques y así poder condicionarlo, muchas gracias!!
  #2 (permalink)  
Antiguo 08/10/2010, 18:02
 
Fecha de Ingreso: octubre-2010
Ubicación: Chihuahua
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Condicion en el gridview

Hola,

Espero haber entendido,

Puedes utilizar un "CASE" en la consulta para ejecutar o no la division

SELECT CASE WHEN "condicion" THEN "resultado" [ELSE "resultado"] END FROM "tabla"

SELECT CORPORATIVO, MAX([NOMBRE DEL CORPORATIVO]) AS [NOMBRE DEL CORPORATIVO], SUM(FMA) AS [FACT. MES ACT.], SUM([S# ATUAL]) AS [SALDO ACTUAL], SUM([>2 MESES]) AS REZAGO, MAX(EJECUTIVO) AS EJECUTIVO, MAX(AREA) AS AREA, CASE WHEN SUM([S# ATUAL]) = 0 THEN 0 ELSE SUM([>2 MESES]) / SUM([S# ATUAL]) END AS [PORCENTAJE REZAGO] FROM dbo.BD_REZAGOS WHERE (EJECUTIVO = @ejecutivo) GROUP BY CORPORATIVO ORDER BY REZAGO DESC

Etiquetas: gridview, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.