Changes between Initial Version and Version 1 of AdvancedReports


Ignore:
Timestamp:
02/02/22 14:37:47 (2 years ago)
Author:
193014
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v1 v1  
     1= Напредни извештаи од базата (SQL и складирани процедури)
     2
     3=== Листа на користени услуги со вкупниот број на резервации и просечна оцена како и нивната единечна цена и вкупната заработка по услуга
     4
     5
     6{{{
     7select u.usluga_id,u.dejnost,
     8(
     9  select  cast(u.cena as numeric)
     10) cena_za_usluga,
     11coalesce((
     12  select count(usluga_id) broj_rezervacii
     13  from rezervacija_uslugi 
     14  group by usluga_id
     15  having usluga_id = u.usluga_id
     16) ,0) broj_rezervacii,
     17
     18(
     19   select count(usluga_id)*cast(u.cena as numeric)  broj_rezervacii
     20   from rezervacija_uslugi 
     21   group by usluga_id
     22   having usluga_id = u.usluga_id
     23   
     24)   suma_ceni_usluga,
     25(
     26select avg(o.vrednost)
     27 from ocena as o
     28 group by o.usluga_id
     29 having o.usluga_id = u.usluga_id
     30) ocena
     31from uslugi as u
     32
     33}}}
     34
     35
     36=== Приказ на клиенти со број на резервирани термини во опаѓачки редослед и број на реализирани начини на уплата
     37
     38
     39{{{
     40select k.user_id, k.ime , k.prezime , count(r.br_rez) as br_rezTermini , count(CASE WHEN r.uplata_id isnull THEN 0 END) as uplata_voGotovo,
     41count(CASE WHEN r.uplata_id notnull THEN 0 END) as uplata_online
     42from klienti as k
     43left join rezervacija as r on k.user_id = r.user_id_klient
     44group by 1,2,3
     45order by br_reztermini desc;
     46}}}
     47
     48
     49=== Вработен кој имал најмногу резервирани термини кои ги извршил во минатата година
     50
     51
     52{{{
     53create view vkbr_rez_vraboteni as
     54select v.user_id , v.first_name,v.prezime, count(r.br_rez) as br_rezervacii
     55from vraboteni as v
     56left join termini as t on v.user_id = t.user_id_vraboten
     57left join rezervacija as r on t.termin_id = r.termin_id -- tuka bez left gi dava tie sto imaat samo rezervacii
     58left join rezervacija_uslugi as ru on r.br_rez = ru.br_rez
     59where extract (year from t.pocetok) = extract (year from now() - interval '1 year')
     60group by v.user_id
     61 
     62 
     63 select br.user_id , br.first_name , br.prezime , br.br_rezervacii
     64 from vkbr_rez_vraboteni br
     65 where br.br_rezervacii = (select max(br_rezervacii) from vkbr_rez_vraboteni)
     66}}}