Poziom średniozaawansowany

Zadanie 13

Używając podkwerend, znajdź magazyny, które dostarczają produkty z zamówienia nr 2393.

Schemat: OE, Tabele: Inventories, Order_Items, Kolumny: product_id, warehouse_id, quantity_on_hand, order_id, Wynik: 39 rows

 

 

 

 

Rozwiązanie

SELECT product_id AS product, warehouse_id AS warehouse, quantity_on_hand AS quantity

FROM inventories

WHERE product_id IN

( SELECT product_id FROM order_items WHERE order_id = 2393

)

ORDER BY product, warehouse;

Wersja która dodatkowo podpowiada czy w magazynie jest wystarczająca ilość towaru:

SELECT product_id, warehouse_id, quantity_on_hand,

(SELECT quantity FROM order_items oi WHERE order_id = 2393

AND inv.product_id = oi.product_id) AS ordered_quantity,

CASE

WHEN (SELECT quantity FROM order_items oi

WHERE order_id = 2393

AND inv.product_id = oi.product_id) <= quantity_on_hand

THEN 'yes’

ELSE 'no’

END AS „ENOUGH?”

FROM inventories inv

WHERE product_id IN

(SELECT product_id FROM order_items WHERE order_id=2393)

ORDER BY product_id, warehouse_id;

[collapse]

Alexandretta

Kobieta gracz, która wie czego chce i dąży zawsze do tego by osiągnąć swój cel. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie i inne szkielety. Miłośniczka wszelkiej maści cRPG z wielką ilością współczynników, w których czuje się najlepiej. Notoryczne problemy z wyborem klasy i rasy bo wszystko jest fajne... W chwilach zwątpienia zatraca się przy dźwiękach mieczy, roztrzaskiwanych tarcz i okrzyków bojowych, słuchając wiking metalu z zimnej, niegościnnej, odległej Skandynawii. Czasem zdarzy jej się pograć w jakąś strategię bądź nawet w FPP, ale tylko na easy, żeby nie psuć sobie niepotrzebnie nerwów.

Related Articles

Back to top button