Ayuda While anidado en SQL
Publicado por eleriv11 (1 intervención) el 28/11/2011 04:58:08
Buenas Noches:
Quisiera ver si me pudieran ayudar, en esta consulta creo una tabla temporal con la semana y año que entro y salio un empleado de la empresa, y necesito hacer un comparativo desde el 2005 hasta la actualidad del numero de empleados que hubo por semana de cada año y no me arroja resultado. Pido ayuda, he aqui el codigo:
create table #Fechas (id int,SI int, AI int,SE int, AE int)
insert into #Fechas
select ntrab as id,DATEPART (wk, nempfeca) as Semana, DATEPART (yy, nempfeca) as Año,
DATEPART (wk, nempfecb) as Semana, DATEPART (yy, nempfecb) as Año
from dbo.Catalogo_Empleados
declare @numAnio int
set @numAnio=2005
while (@numAnio>=2011)
begin
declare @numSemana int
set @numSemana = 1
while (@numSemana<=53)
begin
select count(id) from #Fechas
where ((si <= @numSemana AND ai<=@numAnio) AND
(
(se >= @numSemana AND ae>=@numAnio) OR (se = '53' AND ae='1899')
)
)
set @numSemana=@numSemana+1
end
set @numAnio = @numAnio+1
end
Quisiera ver si me pudieran ayudar, en esta consulta creo una tabla temporal con la semana y año que entro y salio un empleado de la empresa, y necesito hacer un comparativo desde el 2005 hasta la actualidad del numero de empleados que hubo por semana de cada año y no me arroja resultado. Pido ayuda, he aqui el codigo:
create table #Fechas (id int,SI int, AI int,SE int, AE int)
insert into #Fechas
select ntrab as id,DATEPART (wk, nempfeca) as Semana, DATEPART (yy, nempfeca) as Año,
DATEPART (wk, nempfecb) as Semana, DATEPART (yy, nempfecb) as Año
from dbo.Catalogo_Empleados
declare @numAnio int
set @numAnio=2005
while (@numAnio>=2011)
begin
declare @numSemana int
set @numSemana = 1
while (@numSemana<=53)
begin
select count(id) from #Fechas
where ((si <= @numSemana AND ai<=@numAnio) AND
(
(se >= @numSemana AND ae>=@numAnio) OR (se = '53' AND ae='1899')
)
)
set @numSemana=@numSemana+1
end
set @numAnio = @numAnio+1
end
Valora esta pregunta


0