Напредни извештаи од базата (SQL и складирани процедури)
За секој продукт наоѓаме во последните три месеци во колку нарачки е присутен, колкава е количината на продуктот во тие нарачки, просечна сума на нарачката во која е присутен продуктот, број на нарачки на продуктот кои корисникот сам ги подигнал, количина продадена на продуктот која корисникот сам ја подигнал, број на нарачки на продукот кои му биле доставени на корисникот и количина на продуктот која му била доставена на корисникот
select p.ime , count(nsp) as broj_na_naracki_vo_koi_e_prisuten_produktot, sum(nsp.kolicina) as kolicina_prodadeno_od_produktot, (select avg(n4.vkupno_suma) from naracka n4 join naracka_sodrzi_produkt nsp4 on n4.id_naracka = nsp4.id_naracka where n4.id_naracka =nsp4.id_naracka and p.id_produkt = nsp4.id_produkt and n4.datum between now() - interval '3months' and now()) as prosecna_suma_na_naracka_vo_koja_se_sodrzi_produktot, (select count(n2) from naracka n2 join naracka_sodrzi_produkt nsp2 on n2.id_naracka = nsp2.id_naracka where nsp2.id_produkt = p.id_produkt and n2.adresa like '/' and n2.datum between now() - interval '3months' and now()) as broj_na_naracki_na_produktot_koi_korisnikot_sam_ke_gi_podigne, (select sum(nsp2.kolicina) from naracka n2 join naracka_sodrzi_produkt nsp2 on n2.id_naracka = nsp2.id_naracka where nsp2.id_produkt = p.id_produkt and n2.adresa like '/' and n2.datum between now() - interval '3months' and now()) as kolicina_prodadena_na_produktot_bez_dostava, (select count(n3) from naracka n3 join naracka_sodrzi_produkt nsp3 on n3.id_naracka = nsp3.id_naracka where nsp3.id_produkt = p.id_produkt and n3.adresa not like '/' and n3.datum between now() - interval '3months' and now()) as broj_na_naracki_na_produktot_koi_ke_bidat_dostaveni_na_korisnikot, (select sum(nsp3.kolicina) from naracka n3 join naracka_sodrzi_produkt nsp3 on n3.id_naracka = nsp3.id_naracka where nsp3.id_produkt = p.id_produkt and n3.adresa not like '/' and n3.datum between now() - interval '3months' and now()) as kolicina_prodadena_na_produktot_preku_dostava from produkt p join naracka_sodrzi_produkt nsp on p.id_produkt = nsp.id_produkt join naracka n on nsp.id_naracka = n.id_naracka where n.datum between now() - interval '3months' and now() group by p.ime,p.id_produkt ;
За секој корисник да се најде бројот на нарачки, да се прикаже просечна сума на сите нарачки за сите корисници, вкупна сума на нарачките на купувачот, колку негови нарачки се над глобалниот просек за сума на нарачка и колку е вкупната сума на неговите нарачки кои се над просекот
select k.ime_prezime, (select count(n) from naracka n where n.id_korisnik = k.id_korisnik) as vkupno_naracki, (select avg(vkupno_suma) from naracka ) as prosecna_suma_na_naracka_za_site_kupuvaci, (select sum(n3.vkupno_suma) from naracka n3 where k.id_korisnik = n3.id_korisnik) as vkupno_suma_od_site_naracki_na_kupuvacot, (select count(n2) from naracka n2 where k.id_korisnik = n2.id_korisnik and n2.datum between now() - interval '1year' and now() and n2.vkupno_suma > (select avg(vkupno_suma) from naracka) ) as vkupno_naracki_nad_prosek_na_korisnikot, (select sum(n4.vkupno_suma) from naracka n4 where k.id_korisnik = n4.id_korisnik and n4.datum between now() - interval '1year' and now() and n4.vkupno_suma > (select avg(vkupno_suma) from naracka) ) as vkupno_suma_na_naracki_nad_prosek_za_korisnikot from korisnik k join kupuvac k2 on k.id_korisnik = k2.id_korisnik group by k.ime_prezime,k.id_korisnik ;
Last modified
23 months ago
Last modified on 01/04/23 10:11:08
Note:
See TracWiki
for help on using the wiki.