Którzy dostawcy dostarczają produkty zamówień złożonych przez klientów o ID 107 i 149? Zadanie rozwiąż na dwa sposoby.
Schemat: OE, Tabele: Product_Information, Order_Items, Orders, Kolumny: supplier_id, order_id, product_id, Wynik: 32 rows
[spoiler title=’Rozwiązanie’ style=’default’ collapse_link=’true’]
- Łączenie tabel:
SELECT DISTINCT pi.supplier_id
FROM order_items oi
INNER JOIN product_information pi USING(product_id)
INNER JOIN orders ord USING(order_id)
WHERE ord.customer_id IN(107, 149)
ORDER BY supplier_id;
- Podzapytania:
SELECT DISTINCT supplier_id
FROM product_information
WHERE product_id IN
(SELECT product_id
FROM order_items
WHERE order_id IN
( SELECT order_id FROM orders WHERE customer_id IN(107, 149)
)
)
ORDER BY supplier_id;
[/spoiler]