Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Consulta no RM Labore<b> (Resolvido)</b>


Prof. B@co

Posts Recomendados


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  23
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  155
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  46

Olá Galera blza?

Estou com a seguinte situação:

Tenho um funcionário que está cadastrado, e este tem Histórico de salarial (se encontra em Base Cálculo > Hist. Salarial) e Histórico de funções (Registro > Hist. Funcao).

Quero montar uma sentença SQL que me traz todo o histórico do salário do indivíduo, mas na mesma linha a qual função ele pertencia na época daquele salário.

Alguém sabe como trazer isto?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  548
  • Conteúdo/Dia:  0.09
  • Reputação:   1
  • Pontos/Conquistas:  2.891
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Edmar,

Lembro-me de ter disponibilizado um relatório desse tipo. Dá uma olhadinha num tópico criado pelo Ivan Martinez onde eu anexei esse relatório.

Qualquer posta denovo que eu procuro.

Att,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  23
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  155
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  46

Ou doutor tudo bem? Obrigado pela dica, mas é mais ou menos assim:

1 - Seleciono o funcinárim a sua chapa

2 - Quero que ele me mostre todos os históricos salariais

3 - Quero que ele me mostre qual a função daquele funcionário naquele período, lembrando que o meu funcionário terá sempre mais alterações salariais do que de função, assim por exemplo, em uma determinada época em que ele recebe X me traga a função Y, se ele passar a receber K me traga a função Y se ele mudar de salário para M e a função mundar para S então me traga os salário desta função. Quero que imprima em linha pra mim, tipo assim:

chapa; nome; data_alteracao_salario; funcao

Se o kra tiver três alterações de salários esta linha deve aparecer três vezes. O que eu não estou conseguindo fazer é associar a função dele naquele período em que ele recebia aquele salário?

Bom é isto, não sei se consegui me expressar. :nao2:

Eu montei esta sentença SQL:

SELECT '0000'+SUBSTRING(A.CHAPA,5,8) MATRICULA,
A.DTMUDANCA DATA_MUDANCA,
(
SELECT M.CODFUNCAO
FROM PFHSTFCO M
WHERE M.CHAPA = A.CHAPA
AND M.CHAPA = B.CHAPA
AND M.DTMUDANCA <= A.DTMUDANCA
) AS CARGO_BASICO,
A.SALARIO,
B.JORNADAMENSAL,
A.DTMUDANCA VIGENCIA
FROM PFHSTSAL A, PFUNC B
WHERE A.CHAPA = B.CHAPA
AND A.CHAPA = 'BCS 7019'

Mas ele dá erro pois se o funcionário tiver mais de uma alteração salarial, e nesta alteração ele estiver na mesma função ela dá erro.

Tem jeito?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  548
  • Conteúdo/Dia:  0.09
  • Reputação:   1
  • Pontos/Conquistas:  2.891
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Jeito tem sim...

O problema é que quando você tenta trazer o código da função, você relaciona a data da mudança do histórico de função com a data de mudança do histórico salarial, sendo qua a função deve ser menor ou igual a data do salário. Portanto, se você encontrar um funcionário que tiver outros cargos anteriores vai encontrar mais de um registro.

Então você precisa encontrar a função que ele tinha quando ele tava com aquele salário e não todas as funções anteriores. Não estou fazendo teste algum, tá?, só estou indo pela lógica. Tenta nesse seu select interno retornar a última função, utilizando a MAX(DTMUDANCA) por exemplo.

Se não conseguir montar posta aí denovo que monto pra vc.

Att,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  23
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  155
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  46

Olá meu amigo, tudo bem?

Deu certo agora, mas eu tive que colocar duas SUB-QUERY, ficando deste jeito:

SELECT '0000'+SUBSTRING(A.CHAPA,5,8) MATRICULA,
A.DTMUDANCA DATA_MUDANCA,
(
SELECT M.CODFUNCAO
FROM PFHSTFCO M
WHERE M.CHAPA = A.CHAPA
AND M.CHAPA = B.CHAPA
AND M.DTMUDANCA = (SELECT MAX(K.DTMUDANCA) FROM PFHSTFCO K WHERE K.CHAPA = A.CHAPA AND K.DTMUDANCA <= A.DTMUDANCA)
) AS CARGO_BASICO,
A.SALARIO,
B.JORNADAMENSAL,
A.DTMUDANCA VIGENCIA
FROM PFHSTSAL A, PFUNC B
WHERE A.CHAPA = B.CHAPA
AND A.CHAPA = 'BCS 7019'

Mas funcionou perfeitamente. Muito obrigado pela dica e fica aí para outras pessoas que tem o mesmo problemas.

Abraços

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  548
  • Conteúdo/Dia:  0.09
  • Reputação:   1
  • Pontos/Conquistas:  2.891
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

blz Edmar...

Obrigado por postar a sentença aí... com certeza audará outros com necessidades semelhantes.

Att,

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.