| 1 | CREATE VIEW vw_neplateni_kazni_posledni_2_nedeli AS
|
|---|
| 2 | SELECT k.kazna_id,
|
|---|
| 3 | k.datum,
|
|---|
| 4 | k.rok_na_plakanje,
|
|---|
| 5 | k.iznos_za_plakanje,
|
|---|
| 6 | p.prekrsok_id,
|
|---|
| 7 | p.opis,
|
|---|
| 8 | g.ime,
|
|---|
| 9 | g.prezime,
|
|---|
| 10 | v.registarska_oznaka
|
|---|
| 11 | FROM Kazna k
|
|---|
| 12 | JOIN Prekrsok p ON p.kazna_id = k.kazna_id
|
|---|
| 13 | LEFT JOIN Prekrsok_Storitel ps ON p.prekrsok_id = ps.prekrsok_id
|
|---|
| 14 | LEFT JOIN Gragjanin g ON ps.storitel_embg = g.embg
|
|---|
| 15 | LEFT JOIN Prekrsok_Vozilo pv ON p.prekrsok_id = pv.prekrsok_id
|
|---|
| 16 | LEFT JOIN Vozilo v ON pv.vozilo_id = v.vozilo_id
|
|---|
| 17 | LEFT JOIN Plakanje pl ON pl.kazna_id = k.kazna_id
|
|---|
| 18 | WHERE k.datum >= CURRENT_DATE - INTERVAL '14 days'
|
|---|
| 19 | AND pl.kazna_id IS NULL;
|
|---|
| 20 |
|
|---|
| 21 | ----zasekogash a ne za 2 nedeli i dole kaj sho e
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 | CREATE VIEW vw_prekrsoci_denes AS
|
|---|
| 25 | SELECT p.prekrsok_id,
|
|---|
| 26 | p.datum,
|
|---|
| 27 | p.vreme,
|
|---|
| 28 | p.opis,
|
|---|
| 29 | p.detektirana_brzina,
|
|---|
| 30 | z.ime AS zona,
|
|---|
| 31 | z.dozvolena_brzina,
|
|---|
| 32 | v.registarska_oznaka,
|
|---|
| 33 | g.ime AS ime_gragjanin,
|
|---|
| 34 | g.prezime AS prezime_gragjanin
|
|---|
| 35 | FROM Prekrsok p
|
|---|
| 36 | LEFT JOIN Kamera k ON p.kamera_id = k.kamera_id
|
|---|
| 37 | LEFT JOIN Lokacija l ON k.lokacija_id = l.lokacija_id
|
|---|
| 38 | LEFT JOIN Zona z ON l.zona_id = z.zona_id
|
|---|
| 39 | LEFT JOIN Prekrsok_Vozilo pv ON p.prekrsok_id = pv.prekrsok_id
|
|---|
| 40 | LEFT JOIN Vozilo v ON pv.vozilo_id = v.vozilo_id
|
|---|
| 41 | LEFT JOIN Prekrsok_Storitel ps ON p.prekrsok_id = ps.prekrsok_id
|
|---|
| 42 | LEFT JOIN Gragjanin g ON ps.storitel_embg = g.embg
|
|---|
| 43 | WHERE p.datum = CURRENT_DATE;
|
|---|
| 44 |
|
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 | CREATE VIEW vw_sopstvenici_na_vozila AS
|
|---|
| 48 | SELECT v.vozilo_id,
|
|---|
| 49 | v.registarska_oznaka,
|
|---|
| 50 | v.marka,
|
|---|
| 51 | v.model,
|
|---|
| 52 | g.ime,
|
|---|
| 53 | g.prezime,
|
|---|
| 54 | g.telefonski_broj
|
|---|
| 55 | FROM Vozilo v
|
|---|
| 56 | JOIN Sopstvenik_Vozilo sv ON v.vozilo_id = sv.vozilo_id
|
|---|
| 57 | JOIN Gragjanin g ON sv.embg = g.embg;
|
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 |
|
|---|
| 61 | CREATE VIEW vw_aktivni_zhalbi AS
|
|---|
| 62 | SELECT z.zalba_id,
|
|---|
| 63 | z.datum_na_podnesuvanje,
|
|---|
| 64 | z.sodrzina,
|
|---|
| 65 |
|
|---|
| 66 | p.status AS status_prekrsok,
|
|---|
| 67 |
|
|---|
| 68 | g.ime,
|
|---|
| 69 | g.prezime
|
|---|
| 70 | FROM Zalba z
|
|---|
| 71 | LEFT JOIN Korisnik k ON z.korisnik_id = k.korisnik_id
|
|---|
| 72 | LEFT JOIN Gragjanin g ON k.embg = g.embg
|
|---|
| 73 | LEFT JOIN Prekrsok p ON z.prekrsok_id = p.prekrsok_id;
|
|---|
| 74 |
|
|---|
| 75 |
|
|---|
| 76 |
|
|---|
| 77 | CREATE VIEW vw_neaktivni_kameri AS
|
|---|
| 78 | SELECT k.kamera_id,
|
|---|
| 79 | k.status,
|
|---|
| 80 | k.seriski_broj,
|
|---|
| 81 | l.ulica,
|
|---|
| 82 | z.ime AS zona
|
|---|
| 83 | FROM Kamera k
|
|---|
| 84 | LEFT JOIN Lokacija l ON k.lokacija_id = l.lokacija_id
|
|---|
| 85 | LEFT JOIN Zona z ON l.zona_id = z.zona_id
|
|---|
| 86 | WHERE k.status IN ('neaktivna', 'servis');
|
|---|
| 87 |
|
|---|
| 88 |
|
|---|
| 89 |
|
|---|
| 90 | CREATE VIEW vw_prekrsoci_so_nadminata_brzina AS
|
|---|
| 91 | SELECT p.prekrsok_id,
|
|---|
| 92 | p.detektirana_brzina,
|
|---|
| 93 | z.dozvolena_brzina,
|
|---|
| 94 | (p.detektirana_brzina - z.dozvolena_brzina) AS razlika,
|
|---|
| 95 | z.ime AS zona
|
|---|
| 96 | FROM Prekrsok p
|
|---|
| 97 | JOIN Kamera k ON p.kamera_id = k.kamera_id
|
|---|
| 98 | JOIN Lokacija l ON k.lokacija_id = l.lokacija_id
|
|---|
| 99 | JOIN Zona z ON l.zona_id = z.zona_id
|
|---|
| 100 | WHERE p.detektirana_brzina > z.dozvolena_brzina;
|
|---|
| 101 |
|
|---|
| 102 | -----prekrshocii i prichini
|
|---|
| 103 |
|
|---|
| 104 |
|
|---|
| 105 |
|
|---|
| 106 |
|
|---|
| 107 |
|
|---|
| 108 | -- istecheni registracii
|
|---|
| 109 | -- prekshoci bez kazna
|
|---|
| 110 | -- vozila so anjmnogu prekrshoci i povtoreni prekshoci
|
|---|
| 111 | -- izveshtai na koja kamera od koj tip na prekrshok
|
|---|
| 112 |
|
|---|
| 113 | CREATE VIEW vw_istecheni_registracii AS
|
|---|
| 114 | SELECT r.registracija_id,
|
|---|
| 115 | r.broj,
|
|---|
| 116 | r.mesto,
|
|---|
| 117 | r.datum,
|
|---|
| 118 | r.datum_istekuvanje,
|
|---|
| 119 | v.vozilo_id,
|
|---|
| 120 | v.registarska_oznaka,
|
|---|
| 121 | s.embg
|
|---|
| 122 | FROM Registracija r
|
|---|
| 123 | JOIN Vozilo v ON r.Vozilovozilo_id = v.vozilo_id
|
|---|
| 124 | JOIN Sopstvenik s ON r.sopstvenikEmbg = s.embg
|
|---|
| 125 | WHERE r.datum_istekuvanje < CURRENT_DATE;
|
|---|
| 126 |
|
|---|
| 127 |
|
|---|
| 128 |
|
|---|
| 129 | CREATE VIEW vw_prekshoci_bez_kazna AS
|
|---|
| 130 | SELECT p.prekrsok_id,
|
|---|
| 131 | p.datum,
|
|---|
| 132 | p.vreme,
|
|---|
| 133 | p.opis,
|
|---|
| 134 | p.detektirana_brzina,
|
|---|
| 135 | tk.ime AS tip_prekrsok
|
|---|
| 136 | FROM Prekrsok p
|
|---|
| 137 | LEFT JOIN TipPrekrsok tk ON p.tip_prekrsok_id = tk.tip_prekrsok_id
|
|---|
| 138 | WHERE p.kazna_id IS NULL;
|
|---|
| 139 |
|
|---|
| 140 |
|
|---|
| 141 |
|
|---|
| 142 | CREATE VIEW vw_vozila_najmnogu_prekshoci AS
|
|---|
| 143 | SELECT v.vozilo_id,
|
|---|
| 144 | v.registarska_oznaka,
|
|---|
| 145 | COUNT(pv.prekrsok_id) AS vkupno_prekshoci
|
|---|
| 146 | FROM Vozilo v
|
|---|
| 147 | LEFT JOIN Prekrsok_Vozilo pv ON v.vozilo_id = pv.vozilo_id
|
|---|
| 148 | GROUP BY v.vozilo_id, v.registarska_oznaka;
|
|---|
| 149 |
|
|---|
| 150 |
|
|---|
| 151 |
|
|---|
| 152 | CREATE VIEW vw_povtoreni_prekshoci AS
|
|---|
| 153 | SELECT tk.ime AS tip_prekrsok,
|
|---|
| 154 | v.registarska_oznaka,
|
|---|
| 155 | COUNT(*) AS broj_povtoruvanja
|
|---|
| 156 | FROM Prekrsok p
|
|---|
| 157 | JOIN TipPrekrsok tk ON p.tip_prekrsok_id = tk.tip_prekrsok_id
|
|---|
| 158 | JOIN Prekrsok_Vozilo pv ON p.prekrsok_id = pv.prekrsok_id
|
|---|
| 159 | JOIN Vozilo v ON pv.vozilo_id = v.vozilo_id
|
|---|
| 160 | GROUP BY tk.ime, v.registarska_oznaka
|
|---|
| 161 | HAVING COUNT(*) > 1;
|
|---|
| 162 |
|
|---|
| 163 |
|
|---|
| 164 |
|
|---|
| 165 | CREATE VIEW vw_kamera_tip_prekshok AS
|
|---|
| 166 | SELECT k.kamera_id,
|
|---|
| 167 | k.seriski_broj,
|
|---|
| 168 | tk.ime AS tip_prekrsok,
|
|---|
| 169 | z.ime AS zona,
|
|---|
| 170 | COUNT(p.prekrsok_id) AS broj_deteckii
|
|---|
| 171 | FROM Kamera k
|
|---|
| 172 | LEFT JOIN Prekrsok p ON k.kamera_id = p.kamera_id
|
|---|
| 173 | LEFT JOIN TipPrekrsok tk ON p.tip_prekrsok_id = tk.tip_prekrsok_id
|
|---|
| 174 | LEFT JOIN Lokacija l ON k.lokacija_id = l.lokacija_id
|
|---|
| 175 | LEFT JOIN Zona z ON l.zona_id = z.zona_id
|
|---|
| 176 | GROUP BY k.kamera_id, k.seriski_broj, tk.ime, z.ime; |
|---|