Précédent Suivant

Tâche 11 :  Afficher uniquement les clients ayant des commandes ou des paiements

La base de données contient les clients qui n'ont pas de paiements ou de commandes. La requête du rapport des clients retourne tous les clients. Lorsque vous exécutez le rapport, il existe des lignes client qui n'affichent que les en-têtes de colonnes pour les tables Ordres et Paiements, comme indiqué dans Figure 12-23.

Figure
12-23 Rapport n'affichant aucune donnée de paiement ou d'ordre
pour l'un des clients

Figure 12-23  Rapport n'affichant aucune donnée d'ordre ou de paiement pour un client

Vous pouvez exclure les clients sans commandes ou paiements en changeant la requête du rapport des clients.

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)
La clause WHERE EXISTS recherche dans les tables Orders et Payments les valeurs customerNumber correspondant aux valeurs customerNumber de la table Customers. Seules les lignes ayant des valeurs customerNumber correspondantes sont sélectionnées. La requête complète doit ressembler à celle présentée dans Figure 12-24.

Figure
12-24 Mettre à jour la requête SELECT dans Editer le fichier

Figure 12-24  Requête SELECT mise à jour dans Editer le fichier
4  
5  

(c) Copyright Actuate Corporation 2013