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

---> Sql - Left Outer Join <---


tiago_pimenta

Pergunta

Bom galera, é o seguinte ... tenho 3 tabelas ( ponto , datas , funcionario )

Na tabela ponto tem os dados de acesso dos funcionarios aqui na empresa, na tabela datas tem as datas com seus respectivos dias ( 10/03/2005 - QUINTA ) e a tabela funcionarios com os dados dos funcionarios.

Dai é o seguinte, preciso fazer um relátorio no quickreport que me mostre a data, nome do funcionario a empresa e os horarios que ele entrou e saiu ...

Até a parte de pegar os dados da tabela funcionario pelo apelido que esta na tabela ponto eu consegui com o codigo abaixo ...

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

Agora o unico problema é o seguinte, o select me mostra todos os funcionarios que estam na tabela funcionarios , mais os que não marcaram o ponto de entrada por exemplo, ele me mostra só o apelido dele e o nome e a empresa ( dados que tem na tabela funcionario ) até ai tudo bem ... pois sei que não marcou ponto, mais eu preciso que ele me mostre a data, pois o meu relatório no quickreport esta separado por data, e se não aparece data no registro do pessoal que não marcou ponto, ele não aparece no relatório ... vide img abaixo

user posted image

alguém pode me ajudar a colocar data nos registro que não tem ?!?!?

Grato

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Pra pegar a data atual do sistema é assim função now...

var

today : TDateTime;

begin

today := Now;

ShowMessage('today has date = '+DateToStr(today));

ShowMessage('today has time = '+TimeToStr(today));

end;

Acho que você sabe como faz pra colocar isso no teu BD... mas se não souber...

tabelacampo1.value:= today;

Link para o comentário
Compartilhar em outros sites

  • 0

num é isso ke eu quero, a minha pergunta é mais complexa ...

resumindo ... naqueles registros que não tem data eu queria colocar a data tb, só que aquela tabela ali é junção de 2 tabelas .... não da pra por "campo.value := now"

pelo que eu vi, o Vivendo&Aprendendo me intendeu como que eu quero fazer !!!!

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,3k
×
×
  • Criar Novo...