Foros del Web » Programando para Internet » ASP Clásico »

sum(campo)

Estas en el tema de sum(campo) en el foro de ASP Clásico en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 12/04/2007, 04:35
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 2 meses
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!
  #2 (permalink)  
Antiguo 12/04/2007, 07:34
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: sum(campo)

no entendí tu pregunta, si pudieses mandar el query completo quizá te pueda ayudar
  #3 (permalink)  
Antiguo 13/04/2007, 07:46
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 2 meses
Puntos: 1
Re: sum(campo)

aqui esta
gracias Cesar

Código:
CREATE PROCEDURE dbo.SPTableroControl
@Dia1		money,
@Dia2		money,
@Dia3		money,
@Dia4		money,
@Dia5		money,
@Dia6		money,
@Dia7		money,
@Dia8		money,
@Dia9		money,
@Dia10		money,
@Dia11		money,
@Dia12		money,
@Dia13		money,
@Dia14		money,
@Dia15		money,
@Dia16		money,
@Dia17		money,
@Dia18		money,
@Dia19		money,
@Dia20		money,
@Dia21		money,
@Dia22		money,
@Dia23		money,
@Dia24		money,
@Dia25		money,
@Dia26		money,
@Dia27		money,
@Dia28		money,
@Dia29		money,
@Dia30		money,
@Dia31		money,
@DesdeFecha	char(10),
@HastaFecha	char(10),
@chk11		int,
@chk12		int,
@chk21		int,
@chk22		int,
@chk31		int,
@chk32		int,
@chk41		int,
@chk42		int,
@chk51		int,
@chk52		int,
@chk61		int,
@chk62		int,
@chk71		int,
@chk72		int,
@chk81		int,
@chk82		int,
@chk91		int,
@chk92		int,
@chk101		int,
@chk102		int
AS

declare @BME money
select @BME = 0
select @BME = @Dia1 + @Dia2 + @Dia3 + @Dia4 + @Dia5 + @Dia6 + @Dia7 + @Dia8 + @Dia9 + @Dia10 + @Dia11 + @Dia12 + @Dia13
select @BME = @BME + @Dia14 + @Dia15 + @Dia16 + @Dia17 + @Dia18 + @Dia19 + @Dia20 + @Dia21 + @Dia22 + @Dia23 + @Dia24 
select @BME = @BME + @Dia25 + @Dia26 + @Dia27 + @Dia28 + @Dia29 + @Dia30 + @Dia31

--select @DesdeFecha = (select convert(char(4),year(@DesdeFecha)) + '/' + replicate('0', 2-len(rtrim(convert(char(2),month(@DesdeFecha))))) + rtrim(convert(char(2),month(@DesdeFecha))) + '/' + replicate('0', 2-len(rtrim(convert(char(2),day(@DesdeFecha))))) + rtrim(convert(char(2),day(@DesdeFecha))))
--select @HastaFecha = (select convert(char(4),year(@HastaFecha)) + '/' + replicate('0', 2-len(rtrim(convert(char(2),month(@HastaFecha))))) + rtrim(convert(char(2),month(@HastaFecha))) + '/' + replicate('0', 2-len(rtrim(convert(char(2),day(@HastaFecha))))) + rtrim(convert(char(2),day(@HastaFecha))))

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'
FROM costos_maxirest, bme
Where (datediff(day, @DesdeFecha, Fecha) >= 0) and (datediff(day, @HastaFecha, Fecha) <= 0) and (
((Local = 1 and Turno = @chk11) or (Local = 1 and Turno = @chk12)) or
((Local = 2 and Turno = @chk21) or (Local = 2 and Turno = @chk22)) or
((Local = 3 and Turno = @chk31) or (Local = 3 and Turno = @chk32)) or
((Local = 4 and Turno = @chk41) or (Local = 4 and Turno = @chk42)) or
((Local = 5 and Turno = @chk51) or (Local = 5 and Turno = @chk52)) or
((Local = 6 and Turno = @chk61) or (Local = 6 and Turno = @chk62)) or
((Local = 7 and Turno = @chk71) or (Local = 7 and Turno = @chk72)) or
((Local = 8 and Turno = @chk81) or (Local = 8 and Turno = @chk82)) or
((Local = 9 and Turno = @chk91) or (Local = 9 and Turno = @chk92)) or
((Local = 10 and Turno = @chk101) or (Local = 10 and Turno = @chk102)))
GO
__________________
Bye!
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 19:31.