Zadanie 5.

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

s5

 

 

 

 

 

Rozwiązanie

1. Łą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;

2. 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;

[collapse]