06/02/2008, 08:11
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años Puntos: 38 | |
Re: Como Insertar info de una tabla en otra Otra alternativa...
Como recomendacion, eviten al maximo el uso de cursores, ya que SQL Server no esta diseñado para trabajar registro por registro, sino de forma masiva.
Draken, retome el ejemplo que te habia comentado para generar el select, solo me quedó la duda de que donde se obtiene el valor de descripcion (de que tabla) y lo tipos de datos de las tablas...
Agregar el resto de los dias sera muy facil, solo copiar el ultimo renglon y modificar el valor de dia = 4, = 5, etc....
Código:
create table Farmacias(
cod_Farmacia int
,Nom_Farmacia varchar(50)
)
create table VentasAcumXDia (
Fecha datetime -- Considerando este campo como datetime
,NumSucursal int
,CodigoInterno varchar(5)
,Piezas int) -- Este campo deberia ser numerico
Create table ReportVenDiarias(
CodigoInterno varchar(5)
,Descripcion varchar(10)
,NumSucursal int
,Sucursal varchar(50)
,Dia1 int -- Estos campos deberian ser numericos
,Dia2 int
,Dia3 int)
insert into VentasAcumXDia values ('20080201',1,19770,'25')
insert into VentasAcumXDia values ('20080202',1,19770,'20')
insert into Farmacias values (1,'Farmacia 1')
Declare @fecha1 datetime
Set @fecha1 = '20080201' -- Formato estandar de Fecha (YYYYMMDD)
Insert into ReportVenDiarias (CodigoInterno, Descripcion, NumSucursal, Sucursal, Dia1,Dia2,Dia3 )
Select v.CodigoInterno
,'' as Descripcion
, v.NumSucursal as NumSucursal
,f.Nom_Farmacia as Sucursal
,Sum(Case When day(Fecha) = 1 Then Piezas Else 0 End) Dia1
,Sum(Case When day(Fecha) = 2 Then Piezas Else 0 End) Dia2
,Sum(Case When day(Fecha) = 3 Then Piezas Else 0 End) Dia2
From Farmacias f
Inner join
VentasAcumXDia v
On f.Cod_Farmacia = v.NumSucursal
Where CodigoInterno = 19770 And
v.Fecha >= @fecha1 And
v.Fecha < dateadd(dd, 1, @fecha1)
Group by
v.CodigoInterno
,v.NumSucursal
,f.Nom_Farmacia
select * from VentasAcumXDia
select * from ReportVenDiarias
Saludos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |