[firebase-br] Montar SQL
Sergio Keller
serkell em serkell.com.br
Sex Maio 6 17:02:36 -03 2005
Obrigado Jony
----- Original Message -----
From: "Jony Ridel" <jonyridel em aol.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 06, 2005 3:51 PM
Subject: Re: [firebase-br] Montar SQL
Oi Sergio,
Para vc juntar os dados das três tabelas vc já vai ter que fazer um
Select com Union das três que ter retornara os valores delas com um
distinct, acho q vc até poderia em cada select dos union's fazer um
subselect para trazer o maior valor referente ao campo1 entre as tabelas
restantes usando o Case. Agora isso seria mas custoso ao Banco pq vc
estaria fazendo SubQueryes em cada um dos Selects das três tabelas. Por
isso acho melhor fazer a view e depois com um Select só trazer através
do Group By o maior valor do campo2 para cada valor do campo1.
Pelo que eu saiba o Distinct age sobre a linha inteira.
Mais uma vez espero poder ter ajudado,
Jony Ridel
Programador
Mais Informatica
Feira de Santana / BA
---------------------
Sergio Keller escreveu:
> Oi Jony.
> Obrigado pela ajuda mas tem 2 coisas que não estou conseguindo.
> 1) Tem que ser uma view ou tenho como fazer um select dentro de outro
> select
> 2) Tenho como fazer Distinct de um campo apenas. Por exemplo Select
> campoa,Distinct campob
>
> Obrigado pela ajuda
>
> Sergio Keller
>
> ----- Original Message -----
> From: "Jony Ridel" <jonyridel em aol.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, May 06, 2005 2:25 PM
> Subject: Re: [firebase-br] Montar SQL
>
>
> Não sei se é a melhor forma mas vc pode fazer o seguinte.
> Criar uma View usando Union All e depois fazer um select da View criada
> com Group By pelo Campo1 com o Max do Campo 2.
>
> Espero poder ter ajudado,
>
> Jony Ridel
> Programador
> Mais Informatica
> Feira de Santana / BA
> ---------------------
>
> Sergio Keller escreveu:
>
> > Amigos. estou com problema para montar o sql do seguinte problema
> >
> > tenho uma tabela A
> > Campo1 Campo2
> > A 100
> > B 200
> > C 300
> > D 400
> > E 500
> >
> > tabela B
> > C 350
> > F 600
> >
> > tabela C
> > B 250
> > F 700
> >
> > O resultado final deverá ser:
> > A 100
> > B 250
> > C 350
> > D 400
> > E 500
> > F 700
> >
> > Sendo que sempre que o campo 1 for igual nas tabelas, a tabela 3 tem a
> > preferencia sobre a 2 e a 1, e a tabela 2 tem a preferencia sobre a
> > tabela1,
> > e devera resultar sempre somente um registro com cada campo1.
> > Se alguem puder me ajudar a montar este SQL...
> > Obrigado
> >
> > Sergio Keller
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> > Para editar sua configuração na lista, use o endereço
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas:
> > http://search.gmane.org/search.php?group=firebase
> >
>
> --
> Jony Ridel
> Programador
> Mais Informatica
> Feira de Santana / BA
> ---------------------
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Jony Ridel
Programador
Mais Informatica
Feira de Santana / BA
---------------------
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista