| 21 | |
| 22 | |
| 23 | == Извештај за секоја компанија со број на вработени, вкупна заработувачка, вкупно клиенти, вкупно резервации за секој статус(активна, завршена, откажана, за одобрување) |
| 24 | |
| 25 | {{{ |
| 26 | select k.kompanija_ime, |
| 27 | ( select count(distinct v.vraboten_id) |
| 28 | from vraboteni v |
| 29 | where v.kompanija_id = k.kompanija_id |
| 30 | ) as broj_vraboteni, |
| 31 | |
| 32 | coalesce (( select sum(f.faktura_iznos) |
| 33 | from fakturi f |
| 34 | join rezervacii r on f.rezervacija_id = r.rezervacija_id |
| 35 | join ruti on r.ruta_id = ruti.ruta_id |
| 36 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 37 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 38 | where kk.kompanija_id = k.kompanija_id |
| 39 | ), 0) as vkupna_zarabotuvachka, |
| 40 | |
| 41 | ( select count(distinct kl.klient_id) |
| 42 | from klienti kl |
| 43 | join rezervacii r on kl.klient_id = r.klient_id |
| 44 | join ruti on r.ruta_id = ruti.ruta_id |
| 45 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 46 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 47 | where kk.kompanija_id = k.kompanija_id |
| 48 | ) as vkupno_klienti, |
| 49 | |
| 50 | ( select count(r.rezervacija_id) |
| 51 | from rezervacii r |
| 52 | join ruti on r.ruta_id = ruti.ruta_id |
| 53 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 54 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 55 | where kk.kompanija_id = k.kompanija_id |
| 56 | ) as vkupno_rezervacii, |
| 57 | |
| 58 | ( select count(r.rezervacija_id) |
| 59 | from rezervacii r |
| 60 | join ruti on r.ruta_id = ruti.ruta_id |
| 61 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 62 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 63 | where kk.kompanija_id = k.kompanija_id and lower(r.rezervacija_status) like 'aktivna' |
| 64 | ) as vkupno_aktivni_rezervacii, |
| 65 | |
| 66 | ( select count(r.rezervacija_id) |
| 67 | from rezervacii r |
| 68 | join ruti on r.ruta_id = ruti.ruta_id |
| 69 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 70 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 71 | where kk.kompanija_id = k.kompanija_id and lower(r.rezervacija_status) like 'zavrshena' |
| 72 | ) as vkupno_zavrsheni_rezervacii, |
| 73 | |
| 74 | ( select count(r.rezervacija_id) |
| 75 | from rezervacii r |
| 76 | join ruti on r.ruta_id = ruti.ruta_id |
| 77 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 78 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 79 | where kk.kompanija_id = k.kompanija_id and lower(r.rezervacija_status) like 'otkazhana' |
| 80 | ) as vkupno_otkazhani_rezervacii, |
| 81 | |
| 82 | ( select count(r.rezervacija_id) |
| 83 | from rezervacii r |
| 84 | join ruti on r.ruta_id = ruti.ruta_id |
| 85 | join vozila on ruti.vozilo_id = vozila.vozilo_id |
| 86 | join kompanii kk on vozila.kompanija_id = kk.kompanija_id |
| 87 | where kk.kompanija_id = k.kompanija_id and lower(r.rezervacija_status) like 'za odobruvanje' |
| 88 | ) as vkupno_za_odobruvanje_rezervacii |
| 89 | |
| 90 | from kompanii k |
| 91 | }}} |
| 92 | |
| 93 | == Кленти за секоја компанија и вкупната сума која ја имаат потрошено кај истата |
| 94 | {{{ |
| 95 | select k.kompanija_ime, |
| 96 | klient.klient_ime, |
| 97 | klient.klient_prezime, |
| 98 | SUM(f.faktura_iznos) as suma_fakturi |
| 99 | from kompanii k |
| 100 | join vozila v on k.kompanija_id = v.kompanija_id |
| 101 | join ruti r on v.vozilo_id = r.vozilo_id |
| 102 | join rezervacii rezervacija on r.ruta_id = rezervacija.ruta_id |
| 103 | join klienti klient on rezervacija.klient_id = klient.klient_id |
| 104 | join fakturi f on rezervacija.rezervacija_id = f.rezervacija_id |
| 105 | group by 1, klient.klient_id |
| 106 | }}} |
| 107 | |
| 108 | == Компании и вкупна сума која ја имаат за одредена релација со број на резервации на истата во последните 30 дена, подредени по опаѓачки редослед на вкупната сума |
| 109 | {{{ |
| 110 | select k.kompanija_ime, |
| 111 | gA.grad_ime as pocnuva_vo, |
| 112 | gB.grad_ime as zavrsuva_vo, |
| 113 | SUM(f.faktura_iznos) as vkupna_suma, |
| 114 | COUNT(rezervacii.rezervacija_id) as broj_rezervacii |
| 115 | from kompanii k |
| 116 | join vozila v on k.kompanija_id = v.kompanija_id |
| 117 | join ruti r on v.vozilo_id = r.vozilo_id |
| 118 | join gradovi gA on r.zapocnuva_vo = gA.grad_id |
| 119 | join gradovi gB on r.zavrsuva_vo = gB.grad_id |
| 120 | join rezervacii rezervacii on r.ruta_id = rezervacii.ruta_id |
| 121 | join fakturi f on rezervacii.rezervacija_id = f.rezervacija_id |
| 122 | where |
| 123 | r.datum_poagjanje between now()-interval'30 day' and now() |
| 124 | and |
| 125 | r.datum_pristignuvanje between now()-interval'30 day' and now() |
| 126 | group by 1, 2, 3 |
| 127 | order by vkupna_suma desc |
| 128 | }}} |
| 129 | |