[firebase-br] Consulta complexa

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


Boa tarde Paulo!

Nada, desta forma eu já havia tentado.

> 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?
>>
>
> ______________________________________________
> 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
>


-- 
[]'s,

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





Mais detalhes sobre a lista de discussão lista