Fórum Comando Not Exists... #214758

17/02/2004

0

Preciso fazer uma Qry que me retorne os registro que não existem em determinada data, mais essas datas não estão em outra tabela...
é o seguinte:
Tenho uma tabela chamada horas trabalhadas, lá ficam armazenadas as horas de entradas dos meus funcionários... porém se o funcionário não passar o cartão nenhuma vez no dia, eu preciso saber para peder lançar na tabela de horas descansadas. Como faço para saber se não houve registro de um determinado funcionário em determinado dia ?

Tentei assim:

Select Data From Horas_Trabalhadas
Where Not Exists (Between ´01/01/2004´ and ´01/30/2004´)

só que não dá certo...
Alguém poderia me ajudar ?
Desde já obrigado!


Ederbond

Ederbond

Responder

Posts

17/02/2004

Lucas Silva

Tenta esse código ai..
Select Data From Horas_Trabalhadas where Data not in (Select Data From horas where data  Between ´01/01/2004´ and ´01/30/2004´)



Responder

Gostei + 0

17/02/2004

Lucas Silva

corrigindo....
Select Data From Horas_Trabalhadas where Data not in (Select Data From Horas_Trabalhadas where data  Between ´01/01/2004´ and ´01/30/2004´)



Responder

Gostei + 0

17/02/2004

Ricvictor

Olá Ederbond ...

O negócio é o seguinte:
Você não conseguirá realizar nenhum tipo de filtragem, como estas planejando, na tabela de horas trabalhadas pois pelo que entendi .. só irá criar algum registro nessa tabela se o camarada for lá e passar o cartão, ou seja, se o camarada não passar o cartão, não terás registro nenhum na tabela de horas trabalhadas. Em outras palavras, como posso registrar algo em horas trabalhadas se o camarada não compareceu ?! Você então possui duas opções:
1º) Crie um espelho dos dias do mês. A partir daí, você fará um comparativo entre as datas (horas trabalhadas e do seu espelho). No laço (procedimento de verificação) que você definir, encontrar alguma data na qual o camarada tenha deixado de registrar ... entra aqui o seu tratamento para o caso, seja falta, descanso semanal, folga, etc etc ...
2º) Ao final de cada dia, deixe agendado no seu banco de dados um procedimento para que ele faça a verificação se houve registro para o camarada naquele dia ou não ... se não houve, faça o devido tratamento como citei no item anterior (inserindo registro em alguma tabela que você tenha de faltas, sei lá ...)

Espero ter clareado e ajudado ...
Um abraço.
Ricardo - Natal/RN


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar