
08/03/2007, 11:37
|
| | Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años, 1 mes Puntos: 1 | |
Re: Error cargar datos a una tabla procedimiento digo a esto que me realiza las cuentas entre los campos:
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
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 convert(int, (sum(tsb) - sum(cossbeb))) as 'Beneficio Marginal Sin Bebida',
convert(int, (sum(tcb) - sum(costot))) as 'Beneficio Marginal Con Bebida',
case @bme when 0 then 0 else convert(money, (((sum(tsb) - sum(cossbeb))/@bme)-1)*100) end as '% Beneficio Marginal Sin Bebida',
case @bme when 0 then 0 else convert(money, (((sum(tcb) - sum(costot))/@bme)-1)*100) end as '% Beneficio Marginal Con Bebida',
case sum(cub) when 0 then 0 else convert(money, (sum(tsb) / sum(cub))) end as 'Precio del Menu Sin Bebida',
case sum(cub) when 0 then 0 else convert(money, (sum(tcb) / sum(cub))) end as 'Precio del Menu Con Bebida',
case sum(cub) when 0 then 0 else convert(money, (sum(costot) / sum(cub))) end as 'Costo Cubierto Sin Bebida',
case sum(cub) when 0 then 0 else convert(money, ((sum(tsb) - sum(cossbeb)) / sum(cub))) end as 'Contribución Marginal Por Cubierto Sin Bebida',
case sum(cub) when 0 then 0 else convert(money, ((sum(tcb) - sum(costot)) / sum(cub))) end as 'Contribución Marginal Por Cubierto Con Bebida',
case sum(cub) when 0 then 0 else convert(money, (sum(valdecob) / sum(cub))) end as 'Decomiso Balanza Por Cubiertos',
case sum(cub) when 0 then 0 else convert(money, (sum(valdecop) / sum(cub))) end as 'Decomiso Producción',
case sum(cub) when 0 then 0 else convert(money, (sum(valsob) / sum(cub))) end as 'Sobras Por Cubiertos'
FROM costos_maxirest
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))
GO
y el campo bme esta permitiendo valor nulo
gracias
pela.-
__________________ Bye! |