Hola,
tengo dos tablas para gestionar el personal.
t_personal (listado de gente con su nombre y otros datos personales)
id_personal
nombre_personal
...etc
t_periodos_personal (periodos de actividad de la gente, con la
categoria y funcion que desempeño en ese período, que no siempre es el
mismo)
fk_periodo_personal_persona,
fk_periodo_personal_categoria,
fk_periodo_personal_funcion,
y el período: fk_periodo_personal_desde y fk_periodo_personal_hasta.
Pues bien, me interesa sacar un listado de toda la gente, con la
última funcion y categoria que tuvo, y solo se hacerlo con esta
consulta, la cual veo muy compleja para lo que quiero ¿no?
gracias
SELECT TOP (100) PERCENT id_personal AS Chequeo, personal_nombre
AS Nombre,
(SELECT TOP (1)
fk_periodo_personal_categoria
FROM dbo.t_periodos_personal
WHERE (fk_periodo_personal_persona dbo.t_personal.id_personal)
ORDER BY fk_periodo_personal_persona,
periodo_personal_hasta DESC) AS Categoria,
(SELECT TOP (1)
fk_periodo_personal_funcion
FROM dbo.t_periodos_personal AS
t_periodos_personal_1
WHERE (fk_periodo_personal_persona dbo.t_personal.id_personal)
ORDER BY fk_periodo_personal_persona,
periodo_personal_hasta DESC) AS Funcion
FROM dbo.t_personal
ORDER BY Chequeo
Leer las respuestas