Query (Como fazer)

MySQL

16/07/2004

Amigos;

Tenho duas tabelas

cliente
num -> INTEGER
nome -> CHAR(3)

pedido
num -> INTEGER
cliente -> INTEGER
valor -> FLOAT(6,2)

Se eu quiser selecionar os clientes q já compraram eu faço
select distinct cliente.nome where cliente.num = pedido.cliente

Como que eu faço para selecionar os clientes que nunca compraram?


Joerli

Joerli

Curtidas 0

Respostas

Beppe

Beppe

16/07/2004

Seria algo assim:

select distinct
  nome
from
  cliente
where
  num not in (select distinct cliente from pedido);



GOSTEI 0
Joerli

Joerli

16/07/2004

Será q não a como fazer sem uma sub-query pois, minha versão do mysql é 3.xx.x e não suporta sub-querys. E eu só poderei atualizar o banco em dezembro


GOSTEI 0
Beppe

Beppe

16/07/2004

Então acho que vc vai ter que fazer duas queries separadas, e processa-las no seu programa.


GOSTEI 0
Kandrus

Kandrus

16/07/2004

Tenta isso acho que funciona se não funcionar entre em contato que agente descobre como fazer

SELECT clientes.* FROM clientes LEFT JOIN pedidos ON clientes.num=pedidos.num where pedidos.num IS NULL


GOSTEI 0
Marcopolo5

Marcopolo5

16/07/2004

selecione os clientes em pedidos com valor null e que sejam
cliente.num = pedido.cliente


GOSTEI 0
POSTAR