SQL Server - Ayuda con Count

 
Vista:

Ayuda con Count

Publicado por Rodrigo (1 intervención) el 24/06/2013 20:59:23
Buenas Tardes, estoy realizando una sentencia en la cual necesito sacar todas las veces que cierto empleado no marco durante cierto periodo pero la sentencia me envia una cantidad muy grande de registros "SIN MARCA" y no me los agrupa por usuario. Esta es la sentencia
SELECT
Employee.EmployeeId,
Employee.EmployeeFirstName,
Employee.EmployeeLastName,
Employee.EmployeeArea,
EmployeeAccess.EmployeeInTime,
EmployeeAccess.EmployeeOutTime,
EmployeeAccess.EmployeeLabTime,
EmployeeAccess.EmployeeLabDay,
EmployeeAccess.EmployeeJustification,
(
SELECT count (EmployeeAccess.EmployeeOutTime)
FROM EmployeeAccess
WHERE (EmployeeAccess.EmployeeInTime=Cast(N'00:00:00' as nvarchar(9)) and (EmployeeAccess.EmployeeOutTime=Cast (N'00:00:00' as nvarchar(9))))
--group by Employee.EmployeeId
) AS SinMarca

FROM
Employee INNER JOIN
EmployeeAccess ON Employee.EmployeeId = EmployeeAccess.EmployeeId


WHERE (EmployeeAccess.EmployeeJustification IS NULL)
and (Employee.EmployeeArea<>'Soporte Tecnologico')
and (Employee.EmployeeArea<>'Division Gestion de Red y Mantenimiento')
and (Employee.EmployeeArea<>'Continuidad Operativa del Negocio')

group by Employee.EmployeeId,
Employee.EmployeeFirstName,
Employee.EmployeeLastName,
Employee.EmployeeArea,
EmployeeAccess.EmployeeInTime,
EmployeeAccess.EmployeeOutTime,
EmployeeAccess.EmployeeLabTime,
EmployeeAccess.EmployeeLabDay,
EmployeeAccess.EmployeeJustification
order by SinMarca
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias Islas Gonzalez
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con Count

Publicado por Isaias Islas Gonzalez (4558 intervenciones) el 26/06/2013 00:17:20
¿Esto te da algun resultado?

SELECT count (EmployeeAccess.EmployeeOutTime)
FROM EmployeeAccess
WHERE (EmployeeAccess.EmployeeInTime=Cast(N'00:00:00' as nvarchar(9)) and (EmployeeAccess.EmployeeOutTime=Cast (N'00:00:00' as nvarchar(9))))

No creas que el motor de base de datos se le da muy bien la ADIVINANZA, debes tener una tabla, donde estan marcados claramente tus horarios y de ahi, basarte para aquellos que no tienen marca.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar