Напредни извештаи од базата (SQL и складирани процедури)
Број на договори, склучени во предходните 3 месеци и процечна цена на договор.
select distinct count(d.iddog) as broj_dogovori, avg(cenadog) as procena_cena from dogovori d left join rezervacii r on r.iddog=d.iddog left join smetki s on s.iddog=d.iddog where sklucenna between now() - interval '3 months' and now() group by d.iddog
Приказ за највредниот вработен (Продавач) во текот на минатата година земено од сегашниот датум, кој бил одговорен за најголемата издадена сметка.
select v.imev as ime_vraboten, max(s.cenasm) as max_smetka from vraboteni v left join izdavsaloni i on i.idis=v.idis left join prodavachi p on p.embgvp=v.embgv left join naplati n on n.embgvp=p.embgvp left join smetki s on s.brsm=n.brsm where ( s.datumsm between now() - interval '1 year' and now() ) and exists ( select p.embgvp from prodavachi p2 where p.embgvp=n.embgvp ) and exists ( select n.brsm from naplati n2 where n.brsm =s.brsm ) group by v.imev
Приказ на сите направени материјални штети, на возила по Категории (Категорија: Комбиња - немаат направени материјални штети)
select * from (select m2.idvozi as id_avtomobil, m2.cenams as cena_steta_a from vozila v left join avtomobili a on a.idvozia=v.idvozi left join motori m on m.idvozim=v.idvozi left join kombinja k on k.idvozik=v.idvozi left join msteti m2 on m2.idvozi=v.idvozi where exists ( select a.idvozia from avtomobili where a.idvozia=m2.idvozi ) group by m2.idvozi, m2.cenams ) as avtomobili, ( select m2.idvozi as id_motor, m2.cenams as cena_steta_m from vozila v left join avtomobili a on a.idvozia=v.idvozi left join motori m on m.idvozim=v.idvozi left join kombinja k on k.idvozik=v.idvozi left join msteti m2 on m2.idvozi=v.idvozi where exists ( select m.idvozim from motori where m.idvozim =m2.idvozi ) group by m2.idvozi, m2.cenams ) as motori
Извештај за најпопуларна локација за паркирани возила, во предходните 3 години, и колку пати е употребена.
select distinct l.adresalok, count(l.adresalok) from vozila v left join parkirani p on p.idvozi=v.idvozi left join izdavsaloni i on i.idis=p.idis left join lokacii l on l.idis=i.idis where p.od between now() - interval '3 years' and now() and exists ( select v.idvozi from vozila v2 where v.idvozi=l.idlok ) group by l.adresalok
Last modified
21 months ago
Last modified on 02/07/23 17:34:15
Note:
See TracWiki
for help on using the wiki.