DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Facc
 


País:
Estado:
Cidade: Cerquilho / SP
Mensagens: 1118
 Postado em: 18/9/2009 12:00:00 AM

Boa tarde, como faço para percorrer uma tabela identificando se o funcionario esqueceu/pulou algum registro?

Estrutura da tabela
Código:
idMetas int AutoInc
MesAno VarChar(10)
Atingiu Char(1)
idFuncionario int


Ex. de dados gravados
Código:
idMetas MesAno Atingiu idFuncionario
1 2008-08-01 S 115
2 2008-09-01 S 115
3 2008-11-01 N 115


nesse exemplo, deveria acusar que ele esqueceu/pulou o mês 10/2008.

Como faço para resolver isso?


Facc
 


País:
Estado:
Cidade: Cerquilho / SP
Mensagens: 1118
 Postado em: 21/9/2009 12:00:00 AM

Achei esse SQL na NET (uma ajuda de outro forum)
Link: http://felipe.c2zlabs.com/identificando-intervalos-entre-datas-no-mysql

Funciona perfeitamente qndo se tem apenas um funcionario na tabela, porém se existem mais funcionarios e alguns deles preencherem todas as datas, para os demais (que pularam/esqueceram) retorna como se tivesse tudo preenchido.

Alguem pode me ajudar a alterar essa sql?


Facc
 


País:
Estado:
Cidade: Cerquilho / SP
Mensagens: 1118
 Postado em: 21/9/2009 12:00:00 AM

Alguém?


Facc
 


País:
Estado:
Cidade: Cerquilho / SP
Mensagens: 1118
 Postado em: 22/9/2009 12:00:00 AM

Resolvido.


CARLOS EDUARDO DOMINGUES MAZZI
 

 


País: Brasil
Estado: SP
Cidade: LINS
Mensagens: 591
 Postado em: 17/6/2010 01:07:45 AM

Tem como vc postar a solucao , amigo?
Facc
 

 


País: Brasil
Estado: SP
Cidade: Cerquilho
Mensagens: 288
 Postado em: 17/6/2010 08:48:44 AM

Consegui essa SQL em outro forum

#Código

SELECT COUNT(DATE_ADD(X.INICIO, INTERVAL Y.N MONTH)) DATA
         FROM (SELECT MIN(mesano) inicio, MAX(mesano) fim
                 FROM metas
                WHERE CPF = ' < CPF > ') X
         JOIN ( SELECT A.A+B.B+1 N
                  FROM (SELECT 0 A UNION ALL
                        SELECT 1 UNION ALL
                        SELECT 2 UNION ALL
                        SELECT 3 UNION ALL
                        SELECT 4 UNION ALL
                        SELECT 5 UNION ALL
                        SELECT 6 UNION ALL
                        SELECT 7 UNION ALL
                        SELECT 8 UNION ALL
                        SELECT 9) A,
                       (SELECT 0 B UNION ALL
                        SELECT 10 UNION ALL
                        SELECT 20 UNION ALL
                        SELECT 30 UNION ALL
                        SELECT 40 UNION ALL
                        SELECT 50 UNION ALL
                        SELECT 60 UNION ALL
                        SELECT 70 UNION ALL
                        SELECT 80 UNION ALL
                        SELECT 90) B
                ORDER BY 1) Y
         ON DATE_ADD(X.inicio, INTERVAL Y.N MONTH) <= X.FIM
         LEFT JOIN metas M
           ON M.mesano = DATE_ADD(X.inicio, INTERVAL Y.N MONTH)
           AND M.CPF = ' < CPF > '
         WHERE M.mesano IS NULL

José Ricardo Teixeira
 
 

 


País: Brasil
Estado: SC
Cidade: Imbituba
Mensagens: 821
 Postado em: 16/5/2013 10:41:17 AM

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03