Poprzedni Następny

Czynność 11:  Wyświetlanie tylko klientów z zamówieniami lub płatnościami

Baza danych zawiera klientów, którzy nie mają żadnych zamówień ani płatności. Zapytanie dla raportu o klientach zwraca wszystkich klientów. Po uruchomieniu raportu widać, że niektóre wiersze klientów zawierają jedynie nagłówki kolumn dla tabel Orders i Payments , jak pokazano na rysunku 12-23.

Rysunek 12-23 Raport, w którym jeden z klientów nie ma żadnych danych o zamówieniach ani płatnościach

Rysunek 12-23  Raport, w którym jeden z klientów nie ma żadnych danych o zamówieniach ani płatnościach

Klientów, którzy nie mają żadnych zamówień ani płatności, można wykluczyć, zmieniając zapytanie dla raportu o klientach.

1  
2  
3  
  WHERE
  EXISTS
  (SELECT Orders.customerNumber
  FROM Orders
  WHERE Customers.customerNumber =
  Orders.customerNumber)
  LUB
  EXISTS
  (SELECT Payments.customerNumber
  FROM Payments
  WHERE Customers.customerNumber =
  Payments.customerNumber)
Klauzula WHERE EXISTS sprawdza tabele Orders i Payments w poszukiwaniu wartości pól customerNumber zgodnych z wartościami pól customerNumber w tablicy Customers. Pobierane są wyłącznie wiersze o pasujących wartościach w polu customerNumber. Gotowe zapytanie powinno wyglądać tak, jak narysunku 12-24.

Rysunek 12-24 Zaktualizowane zapytanie SELECT w oknie Edycja zestawu danych

Rysunek 12-24  Zaktualizowane zapytanie SELECT w oknie Edycja zestawu danych
4  
5  

(c) Copyright Actuate Corporation 2013