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

Essa é Pra Quem Manja


tiago_pimenta

Pergunta

Galera, tenho o seguinte codigo...

select funcionario.apelido, funcionario.nome, funcionario.setor, funcionario.empresa, ponto.data, ponto.entrada, ponto.ent_int, ponto.sai_int, ponto.saida, ponto.horas_trab
from funcionario
left outer join ponto on (ponto.apelido = funcionario.apelido)
where ponto.data between '02/22/2005' and '02/22/2005'  and funcionario.empresa = 'UNIMED BARRETOS'
order by ponto.data, funcionario.nome

Ele me mostra todos os funcionarios que bateram o ponto ... só o que eu preciso é que ele me mostre o nome daqueles que não bateram o ponto ... como posso fazer ?!?

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Darlan, quando a pessoal não bate o ponto , não fica cadastrado nada na tabela PONTO.

A solução que eu vejo para isso, seria buscar todos os nomes da tabela FUNCIONARIO, dai os funcionarios que bateram o ponto você colocar a hora de entrada, saida ,etc... e os que não bateram, você deixa o nome deles e os outros dados em branco... só que não sei como fazer isso no sql..

Grato

Link para o comentário
Compartilhar em outros sites

  • 0

Olá colega, a cláusula Where aplica-se à toda sua Select, é por isso que ele está mostrando somente o que tem em ponto daquele dia.

Tente assim:

left join ponto on (ponto.apelido = funcionario.apelido and ponto.data between '02/22/2005' and '02/22/2005')
where funcionario.empresa = 'UNIMED BARRETOS'

Link para o comentário
Compartilhar em outros sites

  • 0

isso, eu fiz aki ontem e deu certo mais agora temos outro problema, meu quickreport eu coloquei em group e a expression é no campo data, ou seja, no grid ele não mostra a data do pessoal ke não tem entrada na tabela, dai como o quickreport ta fazendo os grupo por data, essas pessoas que não tem data não aparecem no relatorio...

Grato

Link para o comentário
Compartilhar em outros sites

  • 0

bom dia

{P}im[e]nt{a} - só uma comentário, eu tb desenvolvo software para controle de ponto dos funcionários, só que eu utilizo net express 3.1 (cobol) para eu controlar esse tipo de evento quando o funcionário não bate o ponto, eu utilizo uma situação, mais ou menos assim:

entrada1 saida1 entrada2 saida 2 situaçao

8:00 12:00 13:00 18:00 1 - normal

digamos que o funcionário falte

entrada1 saida1 entrada2 saida 2 situaçao

00:00 00:00 00:00 00:00 0 - falta

eu verifico se as batidas não forem preenchida e coloco uma situação, no caso a falta, quando eu preciso de relatórios eu verifico a situação do dia..

espero ter ajudado

Darlan

Link para o comentário
Compartilhar em outros sites

  • 0

Bem o meu processo é o seguinte, o relógio cria um arquivo texto com as batidas dos funcionários, então eu faço um processo de importação de dados, desse arquivo texto para minha base, depois eu gravo os dados, nesse momento eu faço a verificação, se as entradas estiverem em branco então o cara faltou, dai lanço a situação de falta.

O processo pode ser feito quando o usuário quiser, de manhã de tarde, de noite,..

Darlan

Link para o comentário
Compartilhar em outros sites

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...