Query (Como fazer)
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?
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
Curtidas 0
Respostas
Beppe
16/07/2004
Seria algo assim:
select distinct nome from cliente where num not in (select distinct cliente from pedido);
GOSTEI 0
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
16/07/2004
Então acho que vc vai ter que fazer duas queries separadas, e processa-las no seu programa.
GOSTEI 0
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
SELECT clientes.* FROM clientes LEFT JOIN pedidos ON clientes.num=pedidos.num where pedidos.num IS NULL
GOSTEI 0
Marcopolo5
16/07/2004
selecione os clientes em pedidos com valor null e que sejam
cliente.num = pedido.cliente
cliente.num = pedido.cliente
GOSTEI 0