[firebase-br] duvida com select

Eduardo Pelizzari de Andrade eduardoandrade em persoft.com.br
Ter Jun 5 12:00:03 -03 2007


Outra maneira é usar subselect:

select pedido.doc_cnpj, (select nom_cliente from cliente 
                         where pedido.doc_cnpj = cliente.doc_cnpj) as nom_cliente
from pedido
where pedido.doc_cnpj not in (select doc_cnpj from inf_cliente)
and pedido.sit_pedido is null

Se houver mais de um campo, a maneira que você fez é a mais aconselhável, caso contrário tanto faz, independente da maneira, fique atento ao plano que ele monta para a pesquisa, as vezes o firebird não consegue gerar o melhor plano quando o select fica muito complexo e o left join parece ajudar a atrapalhar a vida dele, neste caso, monte o plano na unha.


Eduardo Pelizzari de Andrade
Persoft Softwares Aplicativos
Fone: 55 11 62218061



Ismair Alves escreveu:
> Consegui resolver assim (vou colocar como sao minhas tabelas):
>
>
> select pedido.doc_cnpj, nom_cliente from pedido
> left join cliente on (pedido.doc_cnpj = cliente.doc_cnpj)
> where pedido.doc_cnpj not in (select doc_cnpj from inf_cliente)
> and pedido.sit_pedido is null
>
> sera que e a melhor solucao?
>
>
> Att
>
>
> Em 05/06/07, Ismair Alves <ismair em gmail.com> escreveu:
>   
>> Bom dia,
>>
>>
>> Alguem pode me ajudar em um select?
>> minha duvida e a seguint, eu tenho uma tabelaA(com chave primaria codA) e
>> uma tabelaB(com chave codA) como eu faco pra saber se existe registro que
>> esta na tabelaA e nao esta na tabelaB?
>>
>>
>>
>> Att
>>
>> --
>> Ismair C. Alves
>> msn: ismair_alves em hotmail.com
>> ByteConf Soluções em Software Livre.
>>     
>
>
>
>
>   




Mais detalhes sobre a lista de discussão lista