[firebase-br] Consulta complexa

Edson Marco edmafer em gmail.com
Qua Abr 11 11:23:51 -03 2012


Vai dar o mesmo problema.

Você pode usar FIRST 1 e se não me engano distinct

Mas fica estranho, já que você está exibindo dados da tabela
FUNCIONARIO_SIGA, e estes dados podem mudar a cada registro relacionando ao
funcionário lá.

2012/4/11 JL <jl em antaresassessoria.com.br>

> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



-- 
/*
 * Edson Marco Ferrari Junior
 * edmafer em edmafer.com.br
 * http://www.edmafer.com.br
 */



Mais detalhes sobre a lista de discussão lista