СКЛ случај са клаузулом Сум и Гроуп Би

Skl Slucaj Sa Klauzulom Sum I Group Bi



У овом водичу ћемо научити како да користимо наредбу ЦАСЕ са функцијом СУМ и клаузулом ГРОУП БИ.

Овај водич не покрива основе рада са СКЛ Цасе наредбом, функцијом сум() или клаузулом ГРОУП БИ. Ако тражите основе ових СКЛ функција, погледајте наше туторијале о темама да бисте их даље открили.







Проблем:

Рецимо да имамо табелу под називом „поруџбине“ и желимо да добијемо укупну продају за сваког купца који је груписан према ИД-у купца, али такође желимо да израчунамо попуст за купце који су дали више од две поруџбине.



Табела је приказана у наставку:



ЦРЕАТЕ ТАБЛЕ налога (
ордер_ид ИНТ ПРИМАРНИ КЉУЧ,
цустомер_ид ИНТ,
продуцт_ид ИНТ,
ордер_дате ДАТЕ,
количина ИНТ,
цена ДЕЦИМАЛ ( 10 , 2 )
) ;


Уметните узорак података у табелу као што је приказано у наставку:





ИНСЕРТ ИНТО ордерс ( ордер_ид, цустомер_ид, продуцт_ид, ордер_дате, куантити, прице )
ВРЕДНОСТИ
( 1 , 101 , 1 , '2022-04-01' , 2 , 10.99 ) ,
( 2 , 102 , 2 , '2022-04-01' , 1 , 19.99 ) ,
( 3 , 103 , 1 , '2022-04-02' , 3 , 8.99 ) ,
( 4 , 101 , 3 , '2022-04-03' , 2 , 15.99 ) ,
( 5 , 102 , 1 , '2022-04-03' , 1 , 12.99 ) ,
( 6 , 104 , 2 , '2022-04-04' , 4 , 7.99 ) ,
( 7 , 103 , 3 , '2022-04-05' , 2 , 21.99 ) ,
( 8 , 101 , 2 , '2022-04-06' , 1 , 18.99 ) ,
( 9 , 104 , 1 , '2022-04-07' , 2 , 9.99 ) ,
( 10 , 102 , 3 , '2022-04-07' , 3 , 14.99 ) ;


Ово би требало да креира следећу табелу:



СКЛ случај са клаузулом Сум и Гроуп Би

Да бисмо добили укупну продају за сваког купца који су груписани према ИД-у и израчунали попуст за купце који су дали више од две поруџбине, можемо да користимо исказ ЦАСЕ у вези са клаузулом СУМ и ГРОУП БИ као што је приказано у наставку:

изаберите ордерс.цустомер_ид, сум ( наруџбине.количина * наруџбине.цена * ( случај када се рачуна ( * ) > 2 онда 0.9 друго 1 крај ) ) као тотал_салес фром ордерс;


У датом примеру користимо СКЛ ЦАСЕ наредбу да проверимо да ли је купац дао више од две поруџбине.

Ако је купац дао више од две поруџбине, множимо тотал_салес са 0,9 чиме се примењује попуст од 10%.

Закључак

Разговарали смо о томе како можемо да користимо СКЛ наредбу ЦАСЕ са клаузулом СУМ() и ГРОУП БИ.