Bem, pra trazer a maioria das informações é bem simples. O problema é em relação aos salário do mês anterior que teria quer ser tratado por formula ou ligando a tabela da ficha financeira.
Basicamente, seria dessa forma :
SELECT
F.CHAPA
,F.NOME 'FUNCINÁRIO'
,FU.NOME 'FUNÇÃO'
,F.CODSECAO
,S.DESCRICAO 'SEÇÃO'
,F.SALARIO
,FF.VALOR 'SALARIO MES ANTERIOR'
/* CAMPOS PARA VALIDAR MÊS E ANO ANTERIOR (CASO O MeS SEJA JANEIRO, TRARÁ O ANO MENOs UM.) */
,(CASE WHEN PP.MESCOMP = 1 THEN 12 ELSE (PP.MESCOMP - 1) END) 'MES ANTERIOR'
,(CASE WHEN PP.MESCOMP = 1 THEN (FF.ANOCOMP - 1) ELSE PP.ANOCOMP END) 'ANO ANTERIOR'
FROM
PFUNC F
INNER JOIN PSECAO S ON S.CODCOLIGADA = F.CODCOLIGADA AND S.CODIGO = F.CODSECAO
INNER JOIN PFUNCAO FU ON FU.CODIGO = F.CODFUNCAO AND F.CODCOLIGADA = FU.CODCOLIGADA
/* ABAIXO, PARTE QUE FAZ A LIGAÇÃO COM A FICHA FINANCEIRA PARA TRAZER OS VALORES DO MÊS ANTERIOR */
INNER JOIN PPARAM PP ON PP.CODCOLIGADA = F.CODCOLIGADA
LEFT JOIN PFFINANC FF ON FF.CHAPA = F.CHAPA AND FF.CODCOLIGADA = F.CODCOLIGADA AND
FF.MESCOMP = (CASE WHEN PP.MESCOMP = 1 THEN 12 ELSE (PP.MESCOMP - 1) END)
AND FF.ANOCOMP = (CASE WHEN PP.MESCOMP = 1 THEN (PP.ANOCOMP - 1) ELSE PP.ANOCOMP END)
AND FF.CODEVENTO = 1101 /* EVENTO DE SALÁRIO QUE ESTÁ NO ENVELOPE DO FUNCIONÁRIO*/
WHERE F.CODSITUACAO <> 'D'