Anterior Avançar

Tarefa 11:  Exibir apenas clientes que possuem pedidos ou pagamentos

O banco de dados contém clientes que não possuem pedidos ou pagamentos. A consulta do relatório de clientes retorna todos os clientes. Ao executar o relatório, há linhas de clientes que mostram apenas os títulos das colunas para as tabelas Solicitações e Pagamentos, conforme mostrado na Figura 12-23.

Figura 12-23 Relatório mostrando nenhum dado de solicitação ou pagamento para um cliente

Figura 12-23  Relatório mostrando nenhum dado de solicitação ou pagamento para um cliente

É possível excluir os clientes que não possuem pedidos ou pagamentos alterando a consulta do relatório de clientes.

1  
2  
3  
  WHERE
  EXISTS
  (SELECT Orders.customerNumber
  FROM Orders
  WHERE Customers.customerNumber =
  Orders.customerNumber)
  OR
  EXISTS
  (SELECT Payments.customerNumber
  FROM Payments
  WHERE Customers.customerNumber =
  Payments.customerNumber)
A cláusula WHERE EXISTS verifica se nas tabelas Pedidos e Pagamentos há valores customerNumber que correspondem a valores customerNumber na tabela Clientes. Apenas as linhas que possuam valores customerNumber correspondentes são selecionadas. A consulta completa deve ser semelhante à mostrada na Figura 12-24.

Figura 12-24 Consulta SELECT atualizada em Editar conjunto de dados

Figura 12-24  Consulta SELECT atualizada em Editar conjunto de dados
4  
5  

(c) Copyright Actuate Corporation 2013