Re: Como Insertar info de una tabla en otra Ok, primero se puede decir que esta mal desde el principio, ya que se puede normalizar un poco las tablas y realizar de una mejor y fácil manera y asi evitarte todo este codigo que te voy a poner.
create table VentasAcumXDia (
Fecha varchar(12),
NumSucursal varchar(5),
CodigoInterno varchar(5),
Piezas varchar(3))
Create table ReportVenDiarias
(CodigoInterno varchar(5),
Descripcion varchar(10),
NumSucursal varchar(5),
Sucursal varchar(10),
Dia1 varchar(2),
Dia2 varchar(2),
Dia3 varchar(2))
insert into VentasAcumXDia values ('02/01/2008','1','19770','25')
insert into VentasAcumXDia values ('02/02/2008','1','19770','20')
Declare @Codigo varchar(5), @Num varchar(5), @dia varchar(2), @CantidadPiezas varchar(3)
declare @sentencia varchar(1000)
Declare c_Ven cursor
keyset
local
for
Select
CodigoInterno,
NumSucursal,
day(convert(datetime,fecha,101)) as Dia,
Sum(convert(int,Piezas)) as Total
From
VentasAcumXDia Group by CodigoInterno, NumSucursal, Fecha
Open c_Ven
FETCH NEXT FROM c_Ven
INTO @Codigo, @Num, @dia, @CantidadPiezas
WHILE @@FETCH_STATUS = 0
BEGIN
set @sentencia ='Insert into ReportVenDiarias (CodigoInterno, NumSucursal, Dia' + @dia +')
values ('+ @Codigo +','+ @Num +','+ @CantidadPiezas +')'
exec (@sentencia)
FETCH NEXT FROM c_Ven
INTO @Codigo, @Num, @dia, @CantidadPiezas
END
close c_Ven
Deallocate c_Ven
select * from VentasAcumXDia
select * from ReportVenDiarias
Otra cosa no pusiste con que lenguaje procedural estas trabajando , el ejemplo esta en T-SQL, por lo que solo difiere en las conversiones, el cursor y en la ejecucion de la variable @sentencia.
Además, no se cómo sea el negocio pero a primera vista, que no se debe de pasar la información de las ventas diarias al acumulado.
Bueno fué divertido, necesitaba un retito.
Saludos.
Última edición por Arkhel; 05/02/2008 a las 17:01
Razón: Agregar
|