Ir para conteúdo
Fórum Script Brasil
  • 0

Query com condição de exibir apenas registros que contenham um mesmo numero 3x consecutivas


otacio

Pergunta

Tenho a seguinte consulta:

with
Consulta as (
 SELECT 
    V.CHAPA,
     F.NOME,
    V.DATA,
        F.FILIAL,
    DATENAME(dw,V.DATA) AS DIA,
    MAX(V.SEQUENCIALBATIDA) AS BATIDA
      FROM
            V_BATIDASANTIGAS AS V
             LEFT JOIN V_DADOSFUNC  AS F ON V.CHAPA = F.CHAPA
        WHERE

            DATEPART(dw,V.DATA) = 1
        AND BATIDA IS NOT NULL 
        AND V.CODCOLIGADA = 1 
        AND  YEAR ( V.DATA ) = 2016 
         GROUP BY V.CHAPA,
                  F.NOME,
                  F.FILIAL,
                  V.DATA 
),
ConsultaSeq as (
SELECT *, Seq= row_number() over (partition by CHAPA order by DATA)
  from Consulta
)
SELECT 
C1.CHAPA, 
 C1.NOME, 
 C1.FILIAL,
    C1.DATA, 
    C2.DATA, 
    DateDiff(day, C1.DATA, C2.DATA)as DIAS,
    '04 - MAIS DE 2 DOMINGOS SEM FOLGA ' AS DESCRICAO
  from ConsultaSeq as C1
       left join ConsultaSeq as C2 on C1.CHAPA = C2.CHAPA and C1.Seq = C2.Seq -1
       where DateDiff(day, C1.DATA, C2.DATA) > 1
        GROUP BY  C1.CHAPA,
         C1.NOME, 
          C1.FILIAL,
            C1.DATA, 
             C2.DATA

Ele me retorna:

1234    JOAO DA SILVA   1   2016-01-10 00:00:00.000 2016-01-17 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-01-17 00:00:00.000 2016-01-31 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-01-31 00:00:00.000 2016-02-07 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-02-07 00:00:00.000 2016-02-21 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-02-21 00:00:00.000 2016-02-28 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-02-28 00:00:00.000 2016-03-13 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-03-13 00:00:00.000 2016-03-20 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-03-20 00:00:00.000 2016-05-08 00:00:00.000 49  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-05-08 00:00:00.000 2016-05-29 00:00:00.000 21  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-05-29 00:00:00.000 2016-06-05 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-06-05 00:00:00.000 2016-06-19 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-06-19 00:00:00.000 2016-06-26 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-06-26 00:00:00.000 2016-07-17 00:00:00.000 21  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-07-17 00:00:00.000 2016-07-24 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-07-24 00:00:00.000 2016-08-07 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-08-07 00:00:00.000 2016-08-14 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-08-14 00:00:00.000 2016-08-28 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-08-28 00:00:00.000 2016-09-04 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-09-04 00:00:00.000 2016-09-25 00:00:00.000 21  04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-09-25 00:00:00.000 2016-10-02 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-10-02 00:00:00.000 2016-10-16 00:00:00.000 14  04 - MAIS DE 2 DOMINGOS SEM FOLGA 

O que preciso:

Com base no mês da data só sejam exibidos os resultados que tiverem o numero 7 3x consecutivas.

Exemplo:

1234    JOAO DA SILVA   1   2016-01-10 00:00:00.000 2016-01-17 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-01-17 00:00:00.000 2016-01-31 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 
1234    JOAO DA SILVA   1   2016-01-31 00:00:00.000 2016-02-07 00:00:00.000 7   04 - MAIS DE 2 DOMINGOS SEM FOLGA 

Como poderia parametrizar isso ?

OBS: Posso também fazer uma leitura e salvar o novo resultado em uma tabela,digo pois se você mais simples me atende também.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...