Tema: sum(campo)
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/04/2007, 07:46
Pelao
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
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!