Saludos comunidad, tengo el siguiente Query:
Código SQL:
Ver originalDECLARE
@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.