[firebase-br] Consulta complexa

JL jl em antaresassessoria.com.br
Qua Abr 11 11:21:37 -03 2012


tente usar LEFT JOIN FUNCIONARIO_SIGA

----- Original Message ----- 
From: "Hélio Oliveira" <hpensador em gmail.com>
To: <lista em firebase.com.br>
Sent: Wednesday, April 11, 2012 10:14 AM
Subject: [firebase-br] Consulta complexa


Bom dia Colegas!

Tenho duas tabelas (FUNCIONARIO e FUNCIONARIO_SIGA) com uma relação de 1
x N ou seja, um Funcionário pode ter um ou n-registros na tabela
FUNCIONARIO_SIGA. Acontece que ao fazer o select:

select distinct
        x.matricula,
        x.nome,
        x.data_admissao,
        w.numero_ato,
        w.data_ato,
        w.tipo_ato
from FUNCIONARIO x
   join FUNCIONARIO_SIGA w on (w.matricula = x.matricula)
where extract(month from x.data_admissao) = :mes
   and extract(year from x.data_admissao)  = :ano

Se coloco mes = 1 e ano = 1995 deveria ser retornado apenas 2 registros,
já que só há 2 funcionários admitidos no mês 1/1995, porém esta consulta
me retorna 6 registros devido a cada um dos funcionários ter na tabela
FUNCIONARIO_SIGA 3 registros cada.

Há alguma forma de ser contornado isto, fazendo com que a referida
consulta só me retorne os 2 registros?

-- 
[]'s,

Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com/


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista