SELECT PARA TRAZER OS 3 ÚLTIMOS SALARIOS do funcionario

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Dom, 24 Mar 2019 12:26 pm

Bom dia pessoal!

Estou com um problema em trazer os ultimos 3 meses de salarios de um funcionario:

Exemplo:

Conigo trazer :


mês DEZEMBRO -> Digito mês (12) e ano (2018) fica perfeito:

12/2018 ok 11/2018 ok 10/2018 ok

mês Janeiro -> Digito mês (01) e ano (2019) erro assim:


01/2019 ok 11/2018 ok 12/2019 (errado )



mês Fecereiro -> Digito mês (02) e ano (2019) erro assim:

02/2019 ok 12/2018 ok 01/2018 (errado )


alguém pode me ajudar como trazer certo ? Lembrando que na minha tabela, o campo mês é numerico e campo data também numerico. Converti, mas não da certo.


Obrigada

CRISTINE
katiacd

Mensagemem Seg, 25 Mar 2019 7:50 am

Cristiane,

Coloca o select que você está fazendo, fica mais fácil para nós lhe ajudarmos.
tiago_pimenta
Localização: Barretos / SP

Mensagemem Seg, 25 Mar 2019 5:05 pm

Exato...
e também manda pra gente um DESC da sua tabela.
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Seg, 25 Mar 2019 6:36 pm

Boa tarde prezados! Obrigada pelo retorno de vocês.

Utilizo estas 2 subqueries para trazer o mês 1 / mês 2


Código: Selecionar todos
,          (select  max(to_char(add_months(trunc( TO_DATE($P{pMes},'MM') ,'mm'),rownum-3),'mm'))
                    ||' / '|| TO_CHAR(ADD_MONTHS(TO_DATE('03/' || '2019', 'MM/YYYY'), -2),'MM/YYYY'))mes1
            from    reg_funcionario r
            where   r.ano_calculo = $P{pAno}
            and     r.mes_calculo = $P{pMes}
            and     r.cod_func = $P{pCodFunc}
            and     r.tipo_folha = 1) mes1


Código: Selecionar todos
,         (select   min(to_char(add_months(trunc( TO_DATE($P{pMes},'MM') ,'mm'),rownum-2),'mm'))
                    ||' / '||TO_CHAR(ADD_MONTHS(TO_DATE('04/' || '2019', 'MM/YYYY'), -2),'MM/YYYY')mes2
            from    reg_funcionario r
            where   r.ano_calculo = $P{pAno}
            and     r.mes_calculo = $P{pMes}
            and     r.cod_func = $P{pCodFunc}
            and     r.tipo_folha = 1) mes2


obrigada
Anexos
tabela_funcionario.png
funcionario
tabela_funcionario.png (7.37 KiB) Exibido 455 vezes
katiacd

Mensagemem Ter, 02 Abr 2019 11:50 pm

Resolvido....

Grata
katiacd

Mensagemem Seg, 08 Abr 2019 6:42 pm

Oi katiacd

Se possível, manda a solução pro forum, daí mais gente pode se beneficiar da solução!
:-o
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes