A solução não é a melhor, porém funciona. É possível efetuar o select
utilizando-se de "joins" de várias maneiras.


/* Clientes que não possuem pedidos */
select CLI.*
from CLIENTE CLI
where not exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

/* Clientes que possuem pedidos */
select CLI.*
from CLIENTE CLI
where exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

- ou -

select CLI.*
from CLIENTE CLI join PEDIDO PED on (CLI.CD_CLIENTE = PED.CD_CLIENTE)


Espero ter colaborado.

Em 15 de julho de 2010 09:26, alessandra porto <
[email protected]> escreveu:

>
>
> Preciso buscar todos os clientes que não possuem pedidos
> tenho a tabela clientes e  a  tabela clientes
> já fiz    assim:
>
> SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
> FROM  CLIENTE CLI
> LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
> WHERE CLI.CD_CLIENTE NOT IN
>           (SELECT DISTINCT PED.CD_CLIENTE FROM PEDIDO PED) ORDER BY
> CLI.FANTASIA
>
> e nada
>
> e quando faço assim retorna errado o numero de pedidos para os clientes
> pois muitos possuem mais de 01 pedido    e assim  só  apresenta  01 pedido
>
>        SELECT
>       CLI.CD_CLIENTE,
>       PED.CD_CLIENTE,
>       PED.CD_PEDIDO,
>       count(PED.CD_PEDIDO) NPEDIDOS
>       FROM PEDIDO PED
>       LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
>       GROUP BY 1,2,3
>
> agradeço aos amigos que colaborarem
>
> preciso dos 2 tipos de  retorno  os que não   possuem     e os que
> possuem   qual  a quantidade?
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [email protected]
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a