Předchozí Další

Úloha 11:  Zobrazit pouze zákazníky s objednávkami nebo platbami

Databáze obsahuje ty zákazníky, kteří nemají objednávky ani platby. Dotaz pro sestavu zákazníků vrátí všechny zákazníky. Když sestavu spustíte, budou v ní řádky zákazníků obsahující jen záhlaví sloupců tabulek Objednávky a Platby, jak ukazuje Obrázek 12-23.

Obrázek 12-23 Sestava nezobrazuje údaje o objednávkách a platbách pro jednoho zákazníka

Obrázek 12-23  Sestava nezobrazující údaje o objednávkách a platbách pro jednoho zákazníka

Zákazníky bez objednávek nebo plateb můžete vyloučit změnou dotazu pro sestavu zákazníků.

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)
Klauzule WHERE EXISTS zkontroluje, zda tabulky Objednávky a Platby obsahují hodnoty čísla zákazníka odpovídající hodnotám čísla zákazníka v tabulce Customers (Zákazníci). Vybrány jsou pouze řádky s odpovídajícím číslem zákazníka. Úplný dotaz by měl vypadat podobně jako dotaz na Obrázku 12-24.

Obrázek 12-24 Aktualizovaný dotaz SELECT v položce Upravit datovou sadu

Obrázek 12-24  Aktualizovaný dotaz SELECT v okně Upravit datovou sadu
4  
5  

(c) Copyright Actuate Corporation 2013