Bom dia,pessoal.Estou fazendo uma query que pegue o histórico de funções de cada funcionário. Sendo que ainda não sei usar mt bem o PARTITION BY,e na minha query eu só consigo pegar a penultima função, as funções anteriores eu ainda não sei como pegar.
A minha query é a seguinte:
SELECT
B.NOME,
B.DATAADMISSAO,
B.DATADEMISSAO,
F.NOME AS FUN_ATUAL,
A.DTMUDANCA,
A.NOME AS FUN_ANT
FROM (SELECT X.CODCOLIGADA,
X.chapa,
X.DTMUDANCA,
F.NOME,
Row_Number() over
( PARTITION BY X.chapa
ORDER BY X.dtmudanca DESC) AS ID
FROM PFHSTFCO X
JOIN PFUNCAO F
ON X.CODCOLIGADA = F.CODCOLIGADA
AND X.CODFUNCAO = F.CODIGO
where X.CODCOLIGADA ='1553'
) a
JOIN PFUNC B
ON A.CODCOLIGADA = B.CODCOLIGADA
AND A.CHAPA = B.CHAPA
JOIN PFUNCAO F
ON B.CODCOLIGADA = F.CODCOLIGADA
AND B.CODFUNCAO = F.CODIGO
JOIN PFRATEIOFIXO D
ON B.CODCOLIGADA = D.CODCOLIGADA
AND B.CHAPA = D.CHAPA
JOIN PCCUSTO C
ON D.CODCOLIGADA = C.CODCOLIGADA
AND D.CODCCUSTO = C.CODCCUSTO
WHERE a.id = 2
Alguém pode me ajudar?