Changes between Version 2 and Version 3 of AdvancedReports


Ignore:
Timestamp:
12/20/22 13:38:33 (2 years ago)
Author:
201045
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v2 v3  
    2929);
    3030}}}
     31
     32== За секое продажно место да се најде потрошувачот кој направил најмногу нарачки, адресата на соодветниот потрошувач и колку нарачки направил во продажното место  ==
     33
     34{{{#!sql
     35create view najveren_potrosuvac_za_sekoe_prodazno_mesto as select k.ime as  ime_potrosuvac, pr.ime as ime_mesto, l.adresa as adresa_potrosuvac, l.broj as broj_adresa_potrosuvac,  count(distinct n.naracka_id) as broj_naracka 
     36from korisnik k join potrosuvac p on k.korisnik_id = p.korisnik_id
     37join naracka n on n.potrosuvac_id = p.korisnik_id
     38right join prodazhnomesto pr on pr.id_mesto = n.id_mesto
     39left join lokacija l on l.lokacija_id = p.lokacija_id
     40group by k.korisnik_id, pr.id_mesto, l.adresa, l.broj 
     41having count(distinct n.naracka_id)
     42=
     43                (select  count(distinct nn.naracka_id) 
     44                from korisnik kk join potrosuvac pp on kk.korisnik_id = pp.korisnik_id
     45                join naracka nn on nn.potrosuvac_id = pp.korisnik_id
     46                right join prodazhnomesto prr on prr.id_mesto = nn.id_mesto
     47                left join lokacija ll on ll.lokacija_id = pp.lokacija_id
     48                where pr.id_mesto = prr.id_mesto
     49                group by kk.korisnik_id, prr.id_mesto, ll.adresa, ll.broj 
     50                order by count(distinct nn.naracka_id) desc
     51                limit 1
     52               
     53                );
     54
     55}}}
     56
     57== Да се најде доставувачот кој што има доставено најмногу нарачки, број на нарачки кои ги има доставено, вкупен износ од нарачките, просечен износ од нарачките како и името на администраторот кој го додал ==
     58
     59{{{#!sql
     60create view najdobar_dostavuvac as select k.ime, (
     61        select count(distinct naplata_id) from naplata nn
     62        where nn.dostavuvac_id = k.korisnik_id
     63) as broj_naplati,
     64(
     65        select sum(iznos) from naplata nn
     66        where nn.dostavuvac_id = k.korisnik_id
     67) as vkupna_suma,
     68(
     69        select avg(iznos) from naplata nn
     70        where nn.dostavuvac_id = k.korisnik_id
     71) as prosecna_suma,
     72(
     73        select kk.ime
     74        from korisnik kk join admin_table at2 on kk.korisnik_id = at2.korisnik_id
     75        join dostavuvac d2 on d2.admin_id = at2.korisnik_id
     76        where d2.korisnik_id = k.korisnik_id
     77) as admin_koj_go_dodal
     78from korisnik k join dostavuvac d on k.korisnik_id  = d.korisnik_id
     79join naracka n on n.dostavuvac_id = d.korisnik_id
     80join naplata nap on nap.naplata_id  = n.naplata_id
     81group by k.korisnik_id
     82having count(distinct n.naplata_id) =
     83(
     84        select count(naplata_id)
     85        from naplata n
     86        group by dostavuvac_id
     87        order by count(naplata_id) desc
     88        limit 1
     89);
     90
     91}}}