Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/02/2007, 12:23
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Ayuda con stored procedure

Espero te sirva el siguiente codigo, faltaria revizar que los campos
de id correspondan con tus tablas...



Código:
Create procedure dbo.spAsistencia(
       @IdList     varchar(8000)
      ,@FechaI     datetime
      ,@FechaF     datetime
AS
Declare @tmpTable Table (IdEmpleado Int) 

------------------------------------------------------------------
-- Insertar los ids recibidos como parámetro en tabla temporal
------------------------------------------------------------------
While PatIndex('%,%',@IdList) > 0
Begin
	Insert into @tmpTable(IdEmpleado) 
	Select Isnull(LEFT(@IdList,PATINDEX('%,%',@IdList)-1),0)

	Select @IdList = RIGHT(@IdList,LEN(@IdList)-PATINDEX('%,%',@IdList))
End

Insert into @tmpTable(IdEmpleado)
Select IsNull(@IdList,0)

------------------------------------------------------------------
-- Realizar consulta con los Ids enviados como parametros
------------------------------------------------------------------
Select   E.id_empleado
        ,rtrim(E.nombre) + ' ' + rtrim(E.ape_pat) + ' ' + rtrim(E.ape_mate) [Nombre]
        ,min (convert(char(15),A.entrada,108))                              [Entradas]
        ,convert(char(10),A.dia,103)                                        [Dia]
From  @tmpTable T
Inner join
      empleado E (nolock)
On    T.IdEmpleado = E.id_empleado 
Left outer join
      AsistenciaEmpleados  A (nolock) 
On    E.id_empleado = A.Empleado               
      dia between @FechaI and @FechaF

GO



-- Para ejecutar el Procedimiento desde Query Analizer - Para probar
Execute dbo.spAsistencia  '1550,1320,1323,600,1235,1453,746', '20061222', '20061225'
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.