Tema: sum(campo)
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2007, 04:35
Pelao
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 1
sum(campo)

hola gente
tengo el siguiente procedimiento que me hace las cuentas, el problema esta en el ultimo renglon, en el cual quiero sumar los cubiertos, entonces pongo
sum(cub) y me toma los valores de otra tabla tambien que tengo en esta base, pero no tiene el campo "cub".
Alguien sabe como resolverlo?
gracias

Código:
SELECT 	round(convert(money, (sum(tsb) - sum(cossbeb))/sum(cub)),2) as 'Beneficio Marginal Sin Bebida',
       	round(convert(money, (sum(tcb) - sum(costot))/sum(cub)),2)  as 'Beneficio Marginal Con Bebida',
       	case sum(cub) when 0 then 0 else convert(numeric, ((sum(tsb) - sum(cosSbeb))/(sum(cub))/(AVg(bme))*100)) end as 'Beneficio Marginal Sin Bebida %',	
       	case sum(cub) when 0 then 0 else convert(numeric, ((sum(tcb) - sum(costot))/(sum(cub))/(AVg(bme))*100)) end as 'Beneficio Marginal Con Bebida %',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(tsb) / sum(cub))),2) end as 'Precio del Menu Sin Bebida',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(tcb) / sum(cub))),2) end as 'Precio del Menu Con Bebida',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(cosSbeb) / sum(cub))),2) end as 'Costo Cubierto Sin Bebida',
	case sum(cub) when 0 then 0 else round(convert(money, (sum(costot) / sum(cub))),2) end as 'Costo Cubierto Con Bebida',
       	case sum(cub) when 0 then 0 else round(convert(money, ((sum(tsb) - sum(cossbeb)) / sum(cub))),2) end as 'Contribución Marginal Por Cubierto Sin Bebida',
       	case sum(cub) when 0 then 0 else round(convert(money, ((sum(tcb) - sum(costot)) / sum(cub))),2) end as 'Contribución Marginal Por Cubierto Con Bebida',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(valdecob) / sum(cub))),2) end as 'Decomiso Balanza Por Cubiertos',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(valdecop) / sum(cub))),2) end as 'Decomiso Producción',
       	case sum(cub) when 0 then 0 else round(convert(money, (sum(valsob) / sum(cub))),2) end as 'Sobras Por Cubiertos',
       	round(convert(money, sum(cub)),2) as 'Cubiertos'
__________________
Bye!