Código SQL:
Ver original
DECLARE @Fecha DATE,@term INT=NULL,@depto INT=NULL SELECT p.id_ref_externa AS 'Id_personal', t.descripcion AS 'Terminal', d.desc_depto AS 'Departamento', p.nombre AS 'Nombre', CONVERT(TIME,h.hora_entrada) AS 'Hora-Entrada' FROM corporativodb.dbo.corp_personal p INNER JOIN corporativodb.dbo.corp_terminales t ON t.id=p.id_terminal INNER JOIN corporativodb.dbo.corp_depto d ON d.id_depto=p.id_depto INNER JOIN corporativodb.dbo.corp_horarios h ON h.id_grupo_horario=p.id_grupo_horario WHERE NOT EXISTS (SELECT * FROM corporativodb.dbo.corp_asistencia a WHERE a.id_personal=p.id_personal AND CONVERT(DATE,fecha_asistencia,108)=@Fecha) AND NOT EXISTS (SELECT * FROM transmaquiladb.dbo.tm_transfer_registroAsistencia ab WHERE ab.id_personal=p.id_ref_externa AND CONVERT(DATE,AB.fechahora_Evento,108)=@Fecha) AND ((@term IS NULL) OR (t.id=@term)) AND ((@depto IS NULL)OR(d.id_depto=@depto)) AND p.estatus_personal=1 AND p.id_categoria IS NULL ORDER BY p.id_terminal
Y me trae los siguientes datos:
---ID---Ter----Departamento-----NombreEmpleado--Horario
10447--400--TRAFICO TRANSFER--MACIEL JUAN PABLO--08:00
10447--400--TRAFICO TRANSFER--MACIEL JUAN PABLO--16:00
10447--400--TRAFICO TRANSFER--MACIEL JUAN PABLO--08:00
10578--400--TRAFICO TRANSFER--MIRELES HECTOR--07:30:00
10578--400--TRAFICO TRANSFER--MIRELES HECTOR--14:00:00
10578--400--TRAFICO TRANSFER--MIRELES HECTOR--07:30:00
Quiero que me muestre los datos asi ahora....
10447--400--TRAFICO TRANSFER--MACIEL JUAN PABLO--08:00
10578--400--TRAFICO TRANSFER--MIRELES HECTOR--07:30:00
Que me traiga solo el primer registro, intente hacer agrupaciones pero sin éxito, intente usar el MAX y MIN, pero tampoco tuve éxito, vi otra funcion llamada Row_NUMBER() pero la verdad no supe como adaptarla a esta necesidad, espero me puedan orientar.