12/02/2007, 12:23
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años, 1 mes 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. |