| 31 | |
| 32 | == За секое продажно место да се најде потрошувачот кој направил најмногу нарачки, адресата на соодветниот потрошувач и колку нарачки направил во продажното место == |
| 33 | |
| 34 | {{{#!sql |
| 35 | create 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 |
| 36 | from korisnik k join potrosuvac p on k.korisnik_id = p.korisnik_id |
| 37 | join naracka n on n.potrosuvac_id = p.korisnik_id |
| 38 | right join prodazhnomesto pr on pr.id_mesto = n.id_mesto |
| 39 | left join lokacija l on l.lokacija_id = p.lokacija_id |
| 40 | group by k.korisnik_id, pr.id_mesto, l.adresa, l.broj |
| 41 | having 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 |
| 60 | create 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 |
| 78 | from korisnik k join dostavuvac d on k.korisnik_id = d.korisnik_id |
| 79 | join naracka n on n.dostavuvac_id = d.korisnik_id |
| 80 | join naplata nap on nap.naplata_id = n.naplata_id |
| 81 | group by k.korisnik_id |
| 82 | having 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 | }}} |