Poziom średniozaawansowany

Zadanie 10

Podlicz wartość zamówień każdego klienta w podziale na te złożone bezpośrednio (direct) lub online.

Schemat: OE, Tabela: Orders, Kolumny: customer_id, order_mode, order_total, Wynik: 62 rows

 

 

 

 

 

 

[spoiler title=’Rozwiązanie’ style=’default’ collapse_link=’true’]
  1. Z podzapytaniami:

WITH subquery AS (

SELECT customer_id,

CASE order_mode

WHEN 'direct’ THEN SUM(order_total)

END AS direct,

CASE order_mode

WHEN 'online’ THEN SUM(order_total)

END AS onlines

FROM orders

GROUP BY customer_id, order_mode

)

SELECT customer_id, NVL(direct, 0) as direct, NVL(onlines, 0) as „ONLINE”

FROM subquery

ORDER BY customer_id;

  1. Bez podzapytań:

SELECT customer_id,

SUM(

CASE order_mode

WHEN 'direct’

THEN order_total

ELSE 0

END)AS direct,

SUM(

CASE order_mode

WHEN 'online’

THEN order_total

ELSE 0

END)AS „ONLINE”

FROM ORDERS

GROUP BY customer_id, order_mode

ORDER BY customer_id;

[/spoiler]

Alexandretta

Kobieta gracz. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie czy inne szkielety. Miłośniczka wszelkiej maści cRPG. Notoryczne problemy z wyborem klasy i rasy, bo wszystko 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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Back to top button