Forrige Neste

Oppgave 11:  Vise bare kunder som har ordrer eller betalinger

Databasen inneholder kunder som ikke har ordrer eller betalinger. Spørringen for Customers-rapporten returnerer alle kunder. Når du kjører rapporten, finnes det kunderader som bare viser kolonneoverskriftene for Orders- og Payments-tabellen, som vist i Figur 12-23.

Figur 12-23 Rapport som viser ingen ordre- eller betalingsdata for en kunde

Figur 12-23  Rapport som viser ingen ordre- eller betalingsdata for en kunde

Du kan ekskludere kunder som ikke har ordrer eller betalinger, ved å endre spørringen for Customers-rapporten.

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)
WHERE EXISTS-leddet kontrollerer tabellene Orders og Payments for å se om det finnes customerNumber-verdier som samsvarer med customerNumber-verdiene i Customers-tabellen. Bare rader som har samsvarende customerNumber-verdier, blir valgt. Den fullstendige spørringen skal se ut som den i Figur 12-24.

Figur 12-24 Oppdatert SELECT-spørring i Rediger datasett

Figur 12-24  Oppdatert SELECT-spørring i Rediger datasett
4  
5  

(c) Copyright Actuate Corporation 2013