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

Histórico de Funções (RESOLVIDO)


Posts Recomendados


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Boa noite prezados!

é o seguinte: estou com uma consulta na qual tenho que retornar todos os funcionários que possuam mais

de uma movimentação pelo histórico de função. O caso é que, todo funcionário possui um registro no histórico

de funções, mas no relatório não pode retornar todos os funcionários e sim os que possuem mais de uma movimentação.

Eu fiz um contador com o campo CODSECAO.MOTIVO(não me lembro, se é esse mesmo), mas não sei se fiz certo.

Quando puder vou colocar a sentença aqui, já que ela está no meu trabalho.

Quem puder dar uma idéia de como fazer, ficarei agradecido.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  94
  • Conteúdo/Dia:  0.02
  • Reputação:   1
  • Pontos/Conquistas:  582
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Lança a consulta aqui que é mais facil !

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Esse é o código só que ele não está me retornando linha nenhuma.

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA AS 'NOME DA COLIGADA'

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO AS 'NOME DA SEÇÃO'

, MONTH(PFHSTSEC.DTMUDANCA) AS 'MES'

, YEAR(PFHSTSEC.DTMUDANCA) AS 'ANO'

, PFHSTSEC.MOTIVO

, PMOTMUDSECAO.DESCRICAO AS 'MOTIVO DA MUDANÇA'

FROM GCOLIGADA JOIN PFUNC ON

GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN PFHSTSEC ON

PFHSTSEC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTSEC.CHAPA = PFUNC.CHAPA

JOIN PSECAO ON

PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

PSECAO.CODIGO = PFUNC.CODSECAO AND

PSECAO.CODIGO = PFHSTSEC.CODSECAO

JOIN PMOTMUDSECAO ON

PMOTMUDSECAO.CODCLIENTE = PFHSTSEC.MOTIVO AND

PMOTMUDSECAO.CODCOLIGADA = PFHSTSEC.CODCOLIGADA

WHERE PFHSTSEC.DTMUDANCA = (SELECT COUNT(PFHSTSEC.MOTIVO) AS 'NR_MUDANçAS'

FROM PFHSTSEC

WHERE PFHSTSEC.MOTIVO > 1)

ORDER BY DTMUDANCA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  38
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  248
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  51

Fábio, seu objetivo é a movimentação das funções ou das seções ?

Outra observação: no seu sql o motivo da descrição da mudança que está exibindo é o da seção. Não seria da função ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  51
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  141
  • Conteúdo/Dia:  0.03
  • Reputação:   3
  • Pontos/Conquistas:  1.218
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  43

Fabio,

veja se te atende.

Aqui deu certo.

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA AS 'NOME DA COLIGADA'

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO AS 'NOME DA SEÇÃO'

,COUNT(*)

FROM GCOLIGADA JOIN PFUNC ON

GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN PFHSTSEC ON

PFHSTSEC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTSEC.CHAPA = PFUNC.CHAPA

JOIN PSECAO ON

PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

PSECAO.CODIGO = PFUNC.CODSECAO AND

PSECAO.CODIGO = PFHSTSEC.CODSECAO

JOIN PMOTMUDSECAO ON

PMOTMUDSECAO.CODCLIENTE = PFHSTSEC.MOTIVO AND

PMOTMUDSECAO.CODCOLIGADA = PFHSTSEC.CODCOLIGADA

WHERE PFUNC.CODCOLIGADA =1

AND PFUNC.CODSITUACAO <> 'D'

GROUP BY

GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO

HAVING COUNT(*)> 1

ORDER BY PFUNC.NOME

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  38
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  248
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  51

Fábio, veja se esse código também te atende:

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA AS 'NOME DA COLIGADA'

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO AS 'NOME DA SEÇÃO'

, MONTH(PFHSTFCO.DTMUDANCA) AS 'MES'

, YEAR(PFHSTFCO.DTMUDANCA) AS 'ANO'

, PFHSTFCO.MOTIVO

, PMOTMUDFUNCAO.DESCRICAO AS 'MOTIVO DA MUDANÇA'

FROM GCOLIGADA JOIN PFUNC ON

GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN PFHSTSEC ON

PFHSTSEC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTSEC.CHAPA = PFUNC.CHAPA

JOIN PSECAO ON

PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

PSECAO.CODIGO = PFUNC.CODSECAO AND

PSECAO.CODIGO = PFHSTSEC.CODSECAO

JOIN PFHSTFCO ON

PFHSTFCO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTFCO.CHAPA = PFUNC.CHAPA

JOIN PFUNCAO ON

PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

PFUNCAO.CODIGO = PFUNC.CODFUNCAO

JOIN PMOTMUDFUNCAO ON

PMOTMUDFUNCAO.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND

PMOTMUDFUNCAO.CODCLIENTE = PFHSTFCO.MOTIVO

WHERE PFHSTFCO.DTMUDANCA <> PFUNC.DATAADMISSAO

AND PFHSTFCO.MOTIVO <> 1

ORDER BY PFHSTFCO.CHAPA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Foi mal pessoal, coloquei o título do tópico como Histórico de Funções, mas é o de seção mesmo.

É quase isso, mas o relatório só deve trazer quem tem mais de uma movimentação, e ainda continuam

vindo funcionários com apenas uma movimentação. O relatório só precisa trazer os que tem mais de um

registro.

Obrigado pela ajuda!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  38
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  248
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  51

Tente agora com as correções no seu código.

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA AS 'NOME DA COLIGADA'

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO AS 'NOME DA SEÇÃO'

, MONTH(PFHSTSEC.DTMUDANCA) AS 'MES'

, YEAR(PFHSTSEC.DTMUDANCA) AS 'ANO'

, PFHSTSEC.MOTIVO

, PMOTMUDSECAO.DESCRICAO AS 'MOTIVO DA MUDANÇA'

FROM GCOLIGADA JOIN PFUNC ON

GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN PFHSTSEC ON

PFHSTSEC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTSEC.CHAPA = PFUNC.CHAPA

JOIN PSECAO ON

PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

--PSECAO.CODIGO = PFUNC.CODSECAO AND

PSECAO.CODIGO = PFHSTSEC.CODSECAO

JOIN PMOTMUDSECAO ON

PMOTMUDSECAO.CODCLIENTE = PFHSTSEC.MOTIVO AND

PMOTMUDSECAO.CODCOLIGADA = PFHSTSEC.CODCOLIGADA

-- WHERE PFHSTSEC.DTMUDANCA = (SELECT COUNT(PFHSTSEC.MOTIVO) AS 'NR_MUDANçAS'

-- FROM PFHSTSEC

-- WHERE PFHSTSEC.MOTIVO > 1)

WHERE PFHSTSEC.MOTIVO <> 1

ORDER BY DTMUDANCA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Emerson eu não quero que retorne os PFHSTSEC.MOTIVO diferente de 1 e sim um contador

que retorne somente os que se movimentaram mais de uma vez. Por isso que fiz:

COUNT(PFHSTSEC.MOTIVO) NR_DE_MUDANÇAS

Cada funcionário vai ter um n° de mudanças, só que estou fazendo algo errado, pois

não vem a consulta do jeito que quero com APENAS os funcionários que aparecem 'MAIS DE UMA VEZ'.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  13
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  167
  • Conteúdo/Dia:  0.03
  • Reputação:   1
  • Pontos/Conquistas:  1.088
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  45
  • Dispositivo:  Windows

Fábio,

Boa tarde!

Se por acaso o campo PFHSTSEC.MOTIVO for Int, utilize a função HAVING:

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA AS 'NOME DA COLIGADA'

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO AS 'NOME DA SEÇÃO'

, MONTH(PFHSTSEC.DTMUDANCA) AS 'MES'

, YEAR(PFHSTSEC.DTMUDANCA) AS 'ANO'

, PFHSTSEC.MOTIVO

, PMOTMUDSECAO.DESCRICAO AS 'MOTIVO DA MUDANÇA'

, COUNT (PFHSTSEC.CHAPA) AS MOVIMENTO

FROM GCOLIGADA JOIN PFUNC ON

GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN PFHSTSEC ON

PFHSTSEC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA AND

PFHSTSEC.CHAPA = PFUNC.CHAPA

JOIN PSECAO ON

PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND

--PSECAO.CODIGO = PFUNC.CODSECAO AND

PSECAO.CODIGO = PFHSTSEC.CODSECAO

JOIN PMOTMUDSECAO ON

PMOTMUDSECAO.CODCLIENTE = PFHSTSEC.MOTIVO AND

PMOTMUDSECAO.CODCOLIGADA = PFHSTSEC.CODCOLIGADA

GROUP BY

GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOMEFANTASIA

, PFUNC.CHAPA

, PFUNC.NOME

, PFHSTSEC.CODSECAO

, PSECAO.DESCRICAO

, MONTH(PFHSTSEC.DTMUDANCA)

, YEAR(PFHSTSEC.DTMUDANCA)

, PFHSTSEC.MOTIVO

, PMOTMUDSECAO.DESCRICAO

HAVING SUM(PFHSTSEC.CHAPA) > 1

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Rones,

não entendi esse HAVING SUM com chapa.

Cara, o mais estranho é que o n° de registros caiu, sendo que alguns ainda vem apenas uma vez.

Acho que está faltando algum detalhe nessa consulta, estou tentando descobrir o que é,

mas está difícil !

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Prezados,

eis a resposta para o problema:

SELECT GCOLIGADA.CODCOLIGADA

, GCOLIGADA.NOME COLIGADA

, PFUNC.CHAPA MATRICULA

, PFUNC.NOME FUNCIONARIO

, PFHSTFCO.CODFUNCAO COD_FUNCAO

, PFUNCAO.NOME FUNCAO

, MONTH(PFHSTFCO.DTMUDANCA) MES

, YEAR(PFHSTFCO.DTMUDANCA) ANO

, PFHSTFCO.MOTIVO COD_MOTIVO

, PMOTMUDFUNCAO.DESCRICAO MOTIVO

FROM PFUNC

JOIN PFHSTFCO

ON (PFUNC.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PFUNC.CHAPA = PFHSTFCO.CHAPA)

JOIN PMOTMUDFUNCAO

ON (PMOTMUDFUNCAO.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PMOTMUDFUNCAO.CODCLIENTE = PFHSTFCO.MOTIVO)

JOIN PFUNCAO

ON (PFUNCAO.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PFUNCAO.CODIGO = PFHSTFCO.CODFUNCAO)

JOIN GCOLIGADA

ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA

JOIN (SELECT CODCOLIGADA

, CHAPA

, COUNT(*) AS QT

FROM PFHSTFCO

GROUP BY CODCOLIGADA

, CHAPA

HAVING COUNT(*) > 1) Q ON (PFUNC.CODCOLIGADA=Q.CODCOLIGADA AND PFUNC.CHAPA=Q.CHAPA)

WHERE

(MONTH(PFHSTFCO.DTMUDANCA)>=8 AND YEAR(PFHSTFCO.DTMUDANCA)>=2003) AND

(MONTH(PFHSTFCO.DTMUDANCA)<=8 AND YEAR(PFHSTFCO.DTMUDANCA)<=2010)

ORDER BY PFUNC.NOME, PFHSTFCO.DTMUDANCA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  160
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Fiz com o de função, mas é a mesma coisa que o de seção,

só trocam os campos PFHSTSEC para PFHSTFCO e o PMOTMUDSECAO para PMOTMUDFUNCAO.

Editado por Fabio Costa
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  13
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  167
  • Conteúdo/Dia:  0.03
  • Reputação:   1
  • Pontos/Conquistas:  1.088
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  45
  • Dispositivo:  Windows

Legal! Parabéns!

Link para comentar
Compartilhar em outros sites

  • 1 mês depois...

  • Tópicos Que Criei:  14
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  123
  • Conteúdo/Dia:  0.02
  • Reputação:   3
  • Pontos/Conquistas:  852
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  66

Fiz com o de função, mas é a mesma coisa que o de seção,

só trocam os campos PFHSTSEC para PFHSTFCO e o PMOTMUDSECAO para PMOTMUDFUNCAO.

Fábio, bom dia!

Sem querer abusar você poderia me orientar no que deveria fazer nessa consulta para trazer somente o último registro de mudança de função?

Mesmo que tenha apenas o da "Admissão'.

Estou tentando montar uma consulta (veja abaixo), mas só consigo trazer todos os registros, e preciso apenas do mais novo!

select pfhstfco.chapa, pfunc.nome, max(pfhstfco.dtmudança)

from pfhstfco, pfunc

where

pfunc.codsituacao <> 'D' and

pfhstfco.codcoligada = pfunc.codcoligada and

pfhstfco.chapa = pfunc.chapa

group by pfhstfco.chapa, pfunc.nome, pfhstfco.dtmudanca

order by pfunc.nome

Agradeço sua atenção.

Maurício

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  40
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  298
  • Conteúdo/Dia:  0.06
  • Reputação:   6
  • Pontos/Conquistas:  1.896
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline

Fábio, bom dia!

Sem querer abusar você poderia me orientar no que deveria fazer nessa consulta para trazer somente o último registro de mudança de função?

Mesmo que tenha apenas o da "Admissão'.

Estou tentando montar uma consulta (veja abaixo), mas só consigo trazer todos os registros, e preciso apenas do mais novo!

select pfhstfco.chapa, pfunc.nome, max(pfhstfco.dtmudança)

from pfhstfco, pfunc

where

pfunc.codsituacao <> 'D' and

pfhstfco.codcoligada = pfunc.codcoligada and

pfhstfco.chapa = pfunc.chapa

group by pfhstfco.chapa, pfunc.nome, pfhstfco.dtmudanca

order by pfunc.nome

Agradeço sua atenção.

Maurício

Maurício, outro dia eu sofri um pouco mas consegui trazer apenas o último exame feito por um colaborador, e consegui usando um subselect simples.

Tente adaptar o modelo abaixo para as suas tabelas e veja se funciona:

SELECT dataexame, cast(observacao as varchar(500)), codpessoa

FROM Vexamespront AS S

WHERE dataexame =

(SELECT MAX(dataexame)

FROM Vexamespront

WHERE codpessoa = S.codpessoa)

and codpessoa = :codpessoa

Abs

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  14
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  123
  • Conteúdo/Dia:  0.02
  • Reputação:   3
  • Pontos/Conquistas:  852
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  66

Bruno, obrigado.

Estou tentando, mas tá difícil, ora repete os nomes ora repete as chapas...

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  40
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  298
  • Conteúdo/Dia:  0.06
  • Reputação:   6
  • Pontos/Conquistas:  1.896
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline

Bruno, obrigado.

Estou tentando, mas tá difícil, ora repete os nomes ora repete as chapas...

Aqui Maurício, testa por gentileza:

select pfhstfco.chapa, pfunc.nome, pfhstfco.dtmudança

from pfhstfco, pfunc

where

pfhstfco.dtmudança =

(SELECT MAX(pfhstfco.dtmudança)

from pfhstfco

where pfhstfco.chapa = pfunc.chapa)and

pfunc.codsituacao <> 'D' and

pfhstfco.codcoligada = pfunc.codcoligada and

pfhstfco.chapa = pfunc.chapa

group by pfhstfco.chapa, pfunc.nome, pfhstfco.dtmudanca

order by pfunc.nome

Abs

Editado por Bruno Cavalcanti
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  14
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  123
  • Conteúdo/Dia:  0.02
  • Reputação:   3
  • Pontos/Conquistas:  852
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  66

Aqui Maurício, testa por gentileza:

select pfhstfco.chapa, pfunc.nome, max(pfhstfco.dtmudança)

from pfhstfco, pfunc

where

pfhstfco.dtmudança =

(SELECT MAX(pfhstfco.dtmudança)

from pfhstfco

where pfhstfco.chapa = pfunc.chapa)and

pfunc.codsituacao <> 'D' and

pfhstfco.codcoligada = pfunc.codcoligada and

pfhstfco.chapa = pfunc.chapa

group by pfhstfco.chapa, pfunc.nome, pfhstfco.dtmudanca

order by pfunc.nome

Abs

Bruno, muito obrigado!

Agora saiu certinho.

Valeu

:Valeu:

Link para comentar
Compartilhar em outros sites

  • 3 anos depois...

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

Amigos boa tarde,

Acompanhei esse post e acho que vocês poderiam me ajudar, estou fazem um relatório de contra cheque e queria saber se eu consigo retornar no campo FUNÇÃO a função que o colaborador exercia na data referencia do periodo de pagamento que deverá ser lançada no filtro do relatório, pois eu tenho receio de realizar uma impressão do contra cheque retroativo e retornar com a função atual do colaborador e não a função que ele ocupava na epoca do periodo referente ao solicitado.

Obrigado a todos.

Michael

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  899
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.841
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.574
  • Conteúdo Resolvido:  0
  • Dias Ganho:  195
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Vc precisaria de um envelope de pagamento já configurado que traga os dados históricos, além da Função, o Salário Mensal, a Seção, etc...

Link para comentar
Compartilhar em outros sites

  • 11 meses depois...

  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  7
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  57
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Dispositivo:  Windows

Boa Tarde Mauricio, como juntar o histórico de função e Seção juntos?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  14
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  123
  • Conteúdo/Dia:  0.02
  • Reputação:   3
  • Pontos/Conquistas:  852
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  66

Caro Bertocco!

Faça um subselect com uma das tabelas e crie o relacionamento entre elas. Claro envolvendo a PFUNC também.

 

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.