[firebase-br] Consulta complexa

Hélio Oliveira hpensador em gmail.com
Qua Abr 11 10:14:24 -03 2012


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/





Mais detalhes sobre a lista de discussão lista