1 | | = Advanced Reports |
| 1 | = Напредни извештаи од базата (SQL и складирани процедури) |
| 2 | |
| 3 | == Најизнајмуван автомобил во текот на изминатите два месеци земено во однос на тековниот датум |
| 4 | {{{#!sql |
| 5 | select v.brand , |
| 6 | v.chassis_number, |
| 7 | c.vehicle_id, |
| 8 | m.model_name, |
| 9 | m.color,c3.company_name, |
| 10 | count(*) as nor from contracts c |
| 11 | join vehicles v on v.vehicle_id = c.vehicle_id |
| 12 | join models m on v.model_id = m.model_id |
| 13 | join companies c3 on c3.company_id = v.company_id |
| 14 | where (c.signed_date - interval '2 months')<= c.signed_date and c.signed_date <= now() |
| 15 | group by c.vehicle_id , v.brand , v.chassis_number , m.model_name , m.color, c3.company_name |
| 16 | having count(*) = (select max(nor) from |
| 17 | (select vehicle_id, count(*) as nor from contracts c2 group by vehicle_id) contracts) |
| 18 | }}} |
| 19 | |
| 20 | == Локации подредени според тоа колку автомобили има во тој град место и која компанија го нуди |
| 21 | {{{#!sql |
| 22 | select l.city , count(l.city) as num_of_vehicles from vehicles v |
| 23 | join locations l on v.location_id = l.location_id |
| 24 | group by l.city |
| 25 | order by num_of_vehicles desc; |
| 26 | }}} |
| 27 | |
| 28 | == Број на автомобили кои што ги нуди една компанија во некој град |
| 29 | {{{#!sql |
| 30 | select c.company_name, count(vehicle_id) as counter from vehicles v |
| 31 | join locations l on l.location_id = v.location_id |
| 32 | join companies c on c.company_id = v.company_id |
| 33 | where l.city = 'Skopje' |
| 34 | group by c.company_id , c.company_name; |
| 35 | }}} |
| 36 | |
| 37 | == Регистрации на сите автомобили што биле изнајмени повеќе од десет дена |
| 38 | {{{#!sql |
| 39 | select v.brand, m.model_name, r.plate_num from vehicles v |
| 40 | join models m on v.model_id = m.model_id |
| 41 | join registrations r on v.registration_id = r.registration_id |
| 42 | join contracts c on c.vehicle_id = v.vehicle_id |
| 43 | where c.end_date - c.signed_date >= 10 |
| 44 | }}} |
| 45 | |
| 46 | == Компании кои што имаат направено промет поголем од просечниот од сите компании заедно од издавање на автомобили |
| 47 | {{{#!sql |
| 48 | select c.company_name, |
| 49 | sum(v.daily_rental_price) as prihod |
| 50 | from vehicles v |
| 51 | join companies c on v.company_id = c.company_id |
| 52 | group by c.company_name |
| 53 | having sum(v.daily_rental_price) > AVG(V.daily_rental_price) |
| 54 | }}} |