Forrige Næste

Opgave 11:  Vis kun kunder med ordrer eller betalinger

Databasen indeholder kunder, der ikke har ordrer eller betalinger. Forespørgslen for kunderapporten returnerer alle kunder. Når rapporten udføres, findes der kunderækker, som kun har kolonneoverskrifter for tabellerne Orders og Payments som illustreret i Figur 12-23.

Figur 12-23 Rapport uden ordre- eller betalingsdata for en kunde

Figur 12-23  Rapport uden ordre- eller betalingsdata for en kunde

Du kan udelade kunder, der ikke har ordrer eller betalinger, ved at ændre forespørgslen for kunderapporten.

1  
2  
3  
  WHERE
  EXISTS
  (SELECT Orders.customerNumber
  FROM Orders
  WHERE Customers.customerNumber =
  Orders.customerNumber)
  ELLER
  EXISTS
  (SELECT Payments.customerNumber
  FROM Payments
  WHERE Customers.customerNumber =
  Payments.customerNumber)
Udtrykket WHERE EXISTS kontrollerer, om tabellerne Orders og Payments indeholder værdier for customerNumber, som matcher customerNumber-værdierne i tabellen Customers. Kun rækker med matchende customerNumber-værdier vælges. Hele forespørgslen skulle nu se ud som den, der vises i Figur 12-24.

Figur 12-24 Opdateret SELECT-forespørgsel i Redigér datasæt

Figur 12-24  Opdateret SELECT-forespørgsel i Redigér datasæt
4  
5  

(c) Copyright Actuate Corporation 2013