Előző Következő

11. feladat:  Csak a rendelésekkel vagy fizetésekkel rendelkező vásárlók megjelenítése

Az adatbázis tartalmaz olyan vásárlókat is, akiknek nincsenek megrendeléseik vagy fizetéseik. A vásárlók jelentéshez tartozó lekérdezés az összes vásárlót adja vissza. Jelentés futtatásakor vannak olyan vásárló sorok, melyek csak az Orders és a Payments tábla oszlopfejlécét jelenítik meg a 12-23. ábrán látható módon.

12-23. ábra: Jelentés rendelési vagy fizetési információk nélkül az egyik vásárló esetén

12-23. ábra:  Jelentés rendelési vagy fizetési információk nélkül az egyik vásárló esetén

A vásárlók jelentés lekérdezésének módosításával kizárhatja azokat vásárlókat, akik nem rendelkeznek rendelésekkel vagy fizetéssel.

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 WHERE EXISTS részkifejezés megkeresi az Orders és Payments táblákban a customerNumber mező értékeit, amelyek megegyeznek a Customers tábla customerNumber mezőjének értékeivel. Csak a megfelelő customerNumber értékekkel rendelkező sorok kerülnek kiválasztásra. A teljes lekérdezésnek a 12-24. ábrán láthatóhoz kell hasonlítania.

12-24. ábra: Frissített SELECT lekérdezés az Adathalmaz szerkesztése panelen

12-24. ábra:  Frissített SELECT lekérdezés az Adathalmaz szerkesztése panelen
4  
5  

(c) Copyright Actuate Corporation 2013