Pular para o conteúdo
Visualizando 4 posts - 16 até 19 (de 19 do total)
  • Autor
    Posts
  • #102058
    mpvargas
    Participante

      Pensei em algumas opções pra chegar na solução…
      Tenho os campos DEMISSAO (date) e RECNO (number)
      Esse RECNO é sequencial
      logo…se eu tenho um funcionário que foi demitido, o campo DEMISSAO estará preenchido e eu preciso pegar o RECNO desse funcionario… se o RECNO for igual ao MAX(RECNO) dele, essa é a ultima situação, mas se ele foi re-admitido e está ativo, o RECNO dele é maior que o anterior… com isso eu pegaria a ultima posição nessa situação…
      agora o problema é colocar essa situação na view…

      #102059
      rman
      Participante

        @mpvargas

        Analisando melhor, para o sistema o CLAUDIO A. VIEIRA trabalhou em diversas filiais sendo admitido e demitidos diversas vezes, repare que cada vez o CLAUDIO teve uma matricula diferente, ou seja, pro sistema são pessoas diferentes, logo a sua consulta não precisa juntar tudo. É questão de interpretação da consulta.

        #102060
        fabiogalera
        Participante

          Veja se funciona

          SELECT b.filial, b.mat, b.sitfolha, b.admissao, b.cpf, b.rg
          FROM
          (SELECT MAX(RECNO) "UltRecno", CPF FROM FUNCIONARIOS WHERE SITFOLHA != 'D' GROUP BY CPF) a,
          FUNCIONARIOS b
          WHERE
          A.UltRecno = b.recno
          AND a.cpf = b.cpf
          AND b.rescrai '31'
          AND b.mat between '100000' and '899999'
          AND b.demissao > '20100000'
          AND b.catfunc IN ('I','J','M');

          Olha, pra mim não faz sentido algum você pegar todos que não são DEMITIDOS e no final AND b.demissao > ‘20100000’ , pega todos que são demitidos. Essa view nunca será verdadeira, sempre retornará 0 linhas se por acaso você preencher eventualmente o campo DEMISSAO quando alguem é demitido.

          São campos conflitantes:

          1) alguem é demitido …
          2) seta SITFOLHA = ‘D’
          3) seta DEMISSAO = sysdate

          #102061
          mpvargas
          Participante

            Fabio… vc tem razão…
            é que eu fui fazendo alterações e esqueci de tirar essa opção que pega somente os demitidos…
            na verdade preciso pegar todos, qualquer que seja a situação, sendo que só preciso da ultima situação…
            vou testar a query que vc passou
            obrigado

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