[firebase-br] Consulta complexa
Paulo Portella
pportellaa.firebase em gmail.com
Qua Abr 11 12:05:56 -03 2012
Experimenta isso por favor:
select
x.matricula,
x.nome,
x.data_admissao,
w.numero_ato,
w.data_ato,
w.tipo_ato
from FUNCIONARIO x
LEFT OUTER 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
"Vivam de maneira que as pessoas que os conheçam, ainda que não conheçam a CRISTO, queiram CONHECÊ-LO por conhecerem vocês"
H. David Burton
Em 11/04/2012 10:14, Hélio Oliveira escreveu:
> 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?
>
Mais detalhes sobre a lista de discussão lista