[firebase-br] Ajuda com junção

Eduardo Jedliczka edujed em gmail.com
Sex Jan 21 08:45:54 -03 2011


Se é uma "busca" onde altera-se os campos (tanto do mestre quanto do
detalhe),  acredito que esteja montando o select em tempo de execução.

Sendo assim, verifique se há pelo menos um campo da tabela detalhe em
uso antes de acrescentar o Join.

Assim, garante-se o melhor desempenho. Pois só irá retornar o que
realmente será utilizado.

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================




Em 20 de janeiro de 2011 17:16, Thiago <zan_ti em farmaponte.com.br> escreveu:
> Então amigo, o que ocorre é que nesse caso fiz uma busca pesquisando apenas
> nos atributos do mestre mas vou precisar fazer pesquisas nos atributos do
> detalhe, por isso preciso do join.
>
> Eu sei que daria para fazer a pesquisa fazendo group de todos os campos que
> vou apresentar do mestre, mas assim fica meio amarrado, eu queria saber se
> existe algum tipo de junção para esses casos.
>
> Obrigado.
>
> Em 20/01/2011 16:50, Eduardo Jedliczka escreveu:
>>
>> Não entendi o motivo do JOIN no select em questão...
>>
>> Por favor, dê um pouco mais de detalhe sobre o que você
>> gostaria/pretende fazer, pois existem inúmeras soluções possíveis (e
>> algumas podem ter um impacto negativo na performance)
>>
>> Abraço,
>>
>> ==========================
>> Eduardo Jedliczka
>> Apucarana - Pr
>> ==========================
>>
>>
>>
>>
>> Em 20 de janeiro de 2011 16:33, Thiago<zan_ti em farmaponte.com.br>
>>  escreveu:
>>>
>>> Gelera, boa tarde.
>>>
>>> Estou com dúvida para gerar uma consulta com tabelas de mestre-detalhe.
>>>
>>> Digamos que eu tenho as seguintes tabelas:
>>>
>>> Tabela mestre
>>> Chave Marca
>>> W     Wolks
>>> F     Fiat
>>> C     Chevrolet
>>>
>>> Tabela detalhe
>>> Chave Carro
>>> C     Celta
>>> C     Astra
>>> F     Palio
>>>
>>> E preciso fazer a seguinte pesquisa:
>>> select m.*
>>> from mestre m
>>> left join detalhe d on m.chave = d.chave
>>> where m.chave = 'C'
>>>
>>> Nesse caso ocorre que a pesquisa vai ser feita pelo usuário, podendo
>>> procurar por atributos tanto no mestre quanto no detalhe e a minha
>>> consulta
>>> iria me retornar o seguinte:
>>>
>>> Chave Marca
>>> C     Chevrolet
>>> C     Chevrolet
>>>
>>> Ele traz assim pois tem duas ocorrências na tabela detalhe, mas eu
>>> gostaria
>>> que trouxesse apenas um registro por chave da tabela mestre.
>>>
>>> Como poderia fazer essa busca?
>>>
>>> Utilizo o Firebird 1.5.
>>>
>>> Obrigado.
>>>
>>>
>>> ______________________________________________
>>> 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
>>>
>>
>> ______________________________________________
>> 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
>>
>
>
>
> ______________________________________________
> 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