wiki:AdvancedReports

Version 4 (modified by 201194, 18 months ago) ( diff )

--

Напредни извештаи од базата (SQL и складирани процедури)

Извештаи за клиент според тромесечие, купени производи и потрошена сума

SELECT DISTINCT u.korisnicko_ime,
CASE WHEN tabela.quarter=1 THEN tabela.kupeni_proizvodi ELSE 0 END AS prv_kvartal,
CASE WHEN tabela.quarter=2 THEN tabela.kupeni_proizvodi ELSE 0 END AS vtor_kvartal,
CASE WHEN tabela.quarter=3 THEN tabela.kupeni_proizvodi ELSE 0 END AS tret_kvartal,
CASE WHEN tabela.quarter=4 THEN tabela.kupeni_proizvodi ELSE 0 END AS cetvrt_kvartal,

CASE WHEN tabela.quarter=1 THEN tabela.suma ELSE 0 END AS prv_kvartal_suma,
CASE WHEN tabela.quarter=2 THEN tabela.suma ELSE 0 END AS vtor_kvartal_suma,
CASE WHEN tabela.quarter=3 THEN tabela.suma ELSE 0 END AS tret_kvartal_suma,
CASE WHEN tabela.quarter=4 THEN tabela.suma ELSE 0 END AS cetvrt_kvartal_suma

FROM naracki as n
 JOIN kupuvaci as k on k.korisnicko_ime=n.korisnicko_ime
 JOIN korisnici AS u ON k.korisnicko_ime = u.korisnicko_ime
JOIN parce_e_del_od_naracki as pdm on pdm.id_naracka=n.id_naracka 
 join parce as p on pdm.id_parce =p.id_parce 
join proizvodi as pro on p.id_proizvod=pro.id_proizvod
 JOIN cena AS c ON c.id_proizvod=pro.id_proizvod
 JOIN (

SELECT DISTINCT c2.korisnicko_ime, extract(quarter FROM n.data_na_naracka) AS quarter, sum(n.suma) AS suma,
count(n.id_naracka) AS kupeni_proizvodi
FROM naracki AS n
JOIN parce_e_del_od_naracki as pdm on pdm.id_naracka=n.id_naracka 
 join parce as p on pdm.id_parce =p.id_parce 
 join proizvodi as pro on p.id_proizvod=pro.id_proizvod
 JOIN cena AS c ON c.id_proizvod=pro.id_proizvod
JOIN kupuvaci AS c2 ON c2.korisnicko_ime = n.korisnicko_ime
GROUP BY 1,2
) AS tabela ON u.korisnicko_ime = tabela.korisnicko_ime

Вработен кој извршил достава на најмногу нарачки

create view vkupen_broj_naracki as 

select d.korisnicko_ime,n.korisnicko_ime,n.email,count(dost.id_dostavuvanja) as broj_naracki
from dostavuvaci as d
join korisnici as n on d.korisnicko_ime=n.korisnicko_ime
join dostavuvanja as dost on d.korisnicko_ime=dost.korisnicko_ime


group by 1, 2, 3;

select vbn.korisnicko_ime,vbn.email, vbn.broj_naracki as first
from vkupen_broj_naracki as vbn
where vbn.broj_naracki = (select max(broj_naracki) from vkupen_broj_naracki);

Листање на сите достапни продукти со нивна локација,количина и цена

drop view if exists produkti_cena;

create view produkti_cena as 

select p.ime, p.kolicina, m.lokacija, c.iznos
from proizvodi as p
left join parce as pr on pr.id_proizvod=p.id_proizvod
left join parce_dostapno_vo_magacini as pdm on pr.id_parce=pdm.id_parce
left join magacini as m on pdm.id_magacin=pdm.id_magacin
left join cena as c on c.id_proizvod=p.id_proizvod

group by 1, 2, 3, 4;

select pc.ime, pc.kolicina, pc.lokacija, pc.iznos as najniska_cena
from produkti_cena as pc
where pc.iznos = (select min(iznos) from produkti_cena)

Напис за сите компании и од која компанија биле купени највеќе производи

select k.ime, count(par.id_parce) as kupeni_proizvodi_po_kompanija
from kompanija as k

left join proizvodi p on p.ime=k.ime
left join parce par on p.id_proizvod=par.id_proizvod
left join parce_e_del_od_naracki pedon on pedon.id_parce = par.id_parce 
left join naracki n on n.id_naracka = pedon.id_naracka 

group by k.ime

order by k desc

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.