withConsultaas(
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
),ConsultaSeqas(
SELECT *,Seq= row_number() over (partition by CHAPA order by DATA)fromConsulta)
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
fromConsultaSeqas C1
left join ConsultaSeqas C2 on C1.CHAPA = C2.CHAPA and C1.Seq= C2.Seq-1whereDateDiff(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 12016-01-1000:00:00.0002016-01-1700:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-01-1700:00:00.0002016-01-3100:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-01-3100:00:00.0002016-02-0700:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-02-0700:00:00.0002016-02-2100:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-02-2100:00:00.0002016-02-2800:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-02-2800:00:00.0002016-03-1300:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-03-1300:00:00.0002016-03-2000:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-03-2000:00:00.0002016-05-0800:00:00.0004904- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-05-0800:00:00.0002016-05-2900:00:00.0002104- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-05-2900:00:00.0002016-06-0500:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-06-0500:00:00.0002016-06-1900:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-06-1900:00:00.0002016-06-2600:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-06-2600:00:00.0002016-07-1700:00:00.0002104- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-07-1700:00:00.0002016-07-2400:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-07-2400:00:00.0002016-08-0700:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-08-0700:00:00.0002016-08-1400:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-08-1400:00:00.0002016-08-2800:00:00.0001404- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-08-2800:00:00.0002016-09-0400:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-09-0400:00:00.0002016-09-2500:00:00.0002104- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-09-2500:00:00.0002016-10-0200:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-10-0200:00:00.0002016-10-1600:00:00.0001404- 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 12016-01-1000:00:00.0002016-01-1700:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-01-1700:00:00.0002016-01-3100:00:00.000704- MAIS DE 2 DOMINGOS SEM FOLGA
1234 JOAO DA SILVA 12016-01-3100:00:00.0002016-02-0700:00:00.000704- 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.
Pergunta
otacio
Tenho a seguinte consulta:
Ele me retorna:
O que preciso:
Com base no mês da data só sejam exibidos os resultados que tiverem o numero 7 3x consecutivas.
Exemplo:
Como poderia parametrizar isso ?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.