Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/02/2008, 16:58
Arkhel
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 18 años, 4 meses
Puntos: 0
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