Anterior Seguinte

Tarefa 11:  Apresentar apenas os clientes que efectuaram encomendas ou pagamentos

A base de dados contém os clientes que não efectuaram encomendas ou pagamentos. A consulta do relatório de clientes devolve todos os clientes. Quando executar o relatório, existem linhas de clientes que apenas apresentam os cabeçalhos de colunas para as tabelas Encomendas e Pagamentos, conforme demonstrado em Imagem 12-23.

Imagem 12-23 Relatório a não apresentar dados de encomendas ou pagamentos para um cliente

Imagem 12-23  Relatório a não apresentar dados de encomendas ou pagamentos para um cliente

É possível excluir clientes que não efectuaram encomendas 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 as tabelas de encomendas e pagamentos relativamente a valores customerNumber que correspondam aos valores customerNumber da tabela de clientes. São apenas seleccionadas as linhas que têm valores customerNumber correspondentes. A consulta completa deverá ter um aspecto semelhante àquela apresentada em Imagem 12-24.

Imagem 12-24 Consulta SELECT actualizada em Editar Conjunto de Dados

Imagem 12-24  Consulta SELECT actualizada em Editar Conjunto de Dados
4  
5  

(c) Copyright Actuate Corporation 2013