SELECT pessoa.nome AS nome,
servidor.siape AS siape,
pessoa.data_nascimento AS nascimento,
servidor.admissao AS admissao,
pessoa.nitpis AS pis,
rubrica.denominacao AS rubrica,
SUM(fichafinan.setembro) AS remuneracao
FROM financeiro.ficha_financeira fichafinan
INNER JOIN rh.servidor servidor
ON fichafinan.id_servidor = servidor.id_servidor
INNER JOIN comum.pessoa pessoa
ON servidor.id_pessoa = pessoa.id_pessoa
INNER JOIN financeiro.rubrica rubrica
ON fichafinan.id_rubrica = rubrica.id_rubrica
WHERE fichafinan.ano = 2011
AND fichafinan.multiplicador = 1
AND ( rubrica.codigo IN ( '00048', '82743' ) )
AND ( servidor.id_tipo_regime_juridico IN ( 3, 7 ) )
GROUP BY pessoa.nome,
servidor.siape,
pessoa.data_nascimento,
servidor.admissao,
pessoa.nitpis,
rubrica.denominacao
HAVING SUM(fichafinan.setembro) > 0
ORDER BY pessoa.nome
Consulta com os servidores com contratos temporários para Setembro/2011.
SELECT unidade.codigo_unidade AS codUnidade,
unidade.nome AS nomeUnidade,
unidade.id_unidade AS idUnidade,
pessoa.nome AS nome,
pessoa.data_nascimento AS nascimento,
servidor.admissao AS admissao,
servidor.siape AS siape,
pessoa.nitpis AS pis,
SUM(CASE WHEN fichafinan.multiplicador = 1
AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256',
'00593', '00612', '00613', '00712',
'00742', '00750', '00754', '00755',
'00775', '15277', '80002', '82404',
'82405', '82329', '82606', '82706',
'82707', '82174' ) ) THEN fichafinan.setembro
END) AS remuneracao,
SUM(CASE WHEN fichafinan.multiplicador = -1
AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256',
'00593', '00612', '00613', '00712',
'00742', '00750', '00754', '00755',
'00775', '15277', '80002', '82404',
'82405', '82329', '82606', '82706',
'82707', '82174' ) ) THEN fichafinan.setembro
END) AS desconto,
SUM(CASE WHEN fichafinan.multiplicador = -1
AND ( rubrica.codigo IN ( '98001', '98006', '98018' ) ) THEN fichafinan.setembro
END) AS previdencia
FROM financeiro.ficha_financeira fichafinan
INNER JOIN rh.servidor servidor
ON fichafinan.id_servidor = servidor.id_servidor
INNER JOIN comum.pessoa pessoa
ON servidor.id_pessoa = pessoa.id_pessoa
INNER JOIN comum.unidade unidade
ON servidor.id_unidade_pagadora = unidade.id_unidade
INNER JOIN financeiro.rubrica rubrica
ON fichafinan.id_rubrica = rubrica.id_rubrica
WHERE fichafinan.ano = 2011
AND fichafinan.setembro > 0
AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256',
'00593', '00612', '00613', '00712',
'00742', '00750', '00754', '00755',
'00775', '15277', '80002', '82404',
'82405', '82329', '82606', '82706',
'82707', '82174' )
OR rubrica.codigo IN ( '98001', '98006', '98018' ) )
AND ( servidor.id_tipo_regime_juridico = 4
AND ( servidor.id_situacao IN ( 12, 52, 54, 53 ) )
OR servidor.id_tipo_regime_juridico = 1
AND servidor.id_situacao = 4
OR servidor.id_tipo_regime_juridico = 2
AND servidor.id_situacao = 20 )
GROUP BY unidade.codigo_unidade,
unidade.nome,
unidade.id_unidade,
pessoa.nome,
servidor.siape,
pessoa.data_nascimento,
servidor.admissao,
pessoa.nitpis
ORDER BY unidade.codigo_unidade,
unidade.nome,
unidade.id_unidade,
pessoa.nome