wiki:AdvancedReports

Напредни извештаи од базата (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 17 months ago Last modified on 01/04/23 10:11:08
Note: See TracWiki for help on using the wiki.