Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #100223
    SamantaS
    Participante

      Bom dia,pessoal.Estou fazendo uma query que pegue o histórico de funções de cada funcionário. Sendo que ainda não sei usar mt bem o PARTITION BY,e na minha query eu só consigo pegar a penultima função, as funções anteriores eu ainda não sei como pegar.
      A minha query é a seguinte:
      SELECT
      B.NOME,
      B.DATAADMISSAO,
      B.DATADEMISSAO,
      F.NOME AS FUN_ATUAL,
      A.DTMUDANCA,
      A.NOME AS FUN_ANT

      FROM (SELECT X.CODCOLIGADA,
      X.chapa,
      X.DTMUDANCA,
      F.NOME,
      Row_Number() over

      ( PARTITION BY X.chapa
      ORDER BY X.dtmudanca DESC) AS ID
      FROM PFHSTFCO X

      JOIN PFUNCAO F
      ON X.CODCOLIGADA = F.CODCOLIGADA
      AND X.CODFUNCAO = F.CODIGO

      where X.CODCOLIGADA ='1553'

      ) a

      JOIN PFUNC B
      ON A.CODCOLIGADA = B.CODCOLIGADA
      AND A.CHAPA = B.CHAPA

      JOIN PFUNCAO F
      ON B.CODCOLIGADA = F.CODCOLIGADA
      AND B.CODFUNCAO = F.CODIGO

      JOIN PFRATEIOFIXO D
      ON B.CODCOLIGADA = D.CODCOLIGADA
      AND B.CHAPA = D.CHAPA

      JOIN PCCUSTO C
      ON D.CODCOLIGADA = C.CODCOLIGADA
      AND D.CODCCUSTO = C.CODCCUSTO

      WHERE a.id = 2

      Alguém pode me ajudar?

      #100245
      burga
      Participante

        Não sei se entendi direito o que você está querendo, mas veja se é isso…
        Ao invés de usar:
        WHERE a.id = 2
        use
        WHERE a.id > 1

        Se não for, outra coisa que pode ser é que você esteja particionando com as informações erradas. Mas como você não passou as suas regras, esses são só palpites.

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress