0

Eu tenho uma query no qual está fazendo um pivot e ela está trazendo os registros corretos por mês, porém eu gostaria de validar a quantidade de registros por mês que mostre apenas funcionários que tenha >= 16 em todos os meses!

Hoje a query se encontra assim

SELECT 
*
FROM (
SELECT * FROM (
        SELECT   
            F.CHAPAFUNC,    
            F.NOMECOMPLETOFUNC,
      F.DTADMFUNC,      
            TO_CHAR(TO_DATE(D.DTDIGIT),'MM') DIAMES, 
      COUNT(DISTINCT(D.CODOCORR)) OCORRENCIA,
      COUNT(DISTINCT(D.CODOCORR)) OCORRENCIA1   ,      
            DECODE(REPLACE(COUNT(DISTINCT(DECODE(D.CODOCORR,D.CODOCORR,0))),1,1),1,'100%') VALOR_PREMIACAO  
        FROM 
            VW_FUNCIONARIOS F,
            FRQ_DIGITACAOMOVIMENTO D   
        WHERE  
            F.CODINTFUNC NOT IN 
                (
                SELECT   
                    F.CODINTFUNC      
                FROM    
                    VW_FUNCIONARIOS F,
                    FRQ_DIGITACAOMOVIMENTO D   
                WHERE 
                    D.CODINTFUNC = F.CODINTFUNC AND
                    D.CODOCORR IN (953,954,57,560,546,515,516,518,609,44) AND 
                    D.TIPODIGIT <> 'P' AND    
                    F.CODIGOEMPRESA IN (25)  AND
                    F.CODFUNCAO IN (1700) AND
                    F.SITUACAOFUNC = 'A' AND                
                    D.DTDIGIT BETWEEN TO_DATE ('01/01/2015','DD/MM/YYYY') AND TO_DATE ('31/03/2015','DD/MM/YYYY')
            )AND
                    D.CODINTFUNC = F.CODINTFUNC AND      
                    D.CODOCORR IN(951,956,960,997) AND 
                    D.TIPODIGIT <> 'P' AND    
                    F.CODIGOEMPRESA IN (25)  AND
                    F.CODFUNCAO IN (1700) AND     
                    F.SITUACAOFUNC = 'A' AND
          D.DUPLAFUNCAO = 'S' AND     
                  D.DTDIGIT BETWEEN TO_DATE ('01/01/2015','DD/MM/YYYY') AND TO_DATE ('31/03/2015','DD/MM/YYYY') and
          F.DTADMFUNC NOT BETWEEN    TO_DATE ('01/01/2015','DD/MM/YYYY') AND TO_DATE ('31/03/2015','DD/MM/YYYY') 
                    GROUP BY F.CHAPAFUNC,F.NOMECOMPLETOFUNC,D.CODOCORR,D.DTDIGIT,F.CODINTFUNC,F.DTADMFUNC          
)              
            PIVOT
                (
                    COUNT(OCORRENCIA)
                    FOR DIAMES IN  ('01' ,'02' ,'03','04','05','06','07','08','09','10','11','12')
                )   
)

1 Resposta 1

0

Esta query traria algo do tipo:

F.CHAPAFUNC | F.NOMECOMPLETOFUNC | F.DTADMFUNC | DIAMES | OCORRENCIA | OCORRENCIA1 | VALOR_PREMIACAO
            |                    |             |        |            |             |
FUNC        | JOAO               | 10/11/2014  | 10     | 25         | 25          | 100%

Correto ?

E você quer validar o que ?

Não entendi este trecho.

que mostre apenas funcionários que tenha >= 16 em todos os meses!

Apenas as linhas que a OCORRENCIA >=16 ?

Ou apenas as linhas que o mês aparece para 16 funcionários ou mais ?

Você deve fazer log-in para responder a esta pergunta.

Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag .