| 1 | == Погледи |
| 2 | |
| 3 | Овој поглед е за сите активни договори кои постојат. |
| 4 | |
| 5 | {{{ |
| 6 | CREATE OR REPLACE VIEW active_agreements_view AS |
| 7 | SELECT |
| 8 | a.A_Id, |
| 9 | a.Price AS agreement_price, |
| 10 | a.Status AS agreement_status, |
| 11 | a.Datum AS agreement_date, |
| 12 | a.Tax_Nr AS dealership_tax_nr, |
| 13 | a.VIN AS car_vin, |
| 14 | a.EMBG AS client_embg, |
| 15 | |
| 16 | d.D_Name AS dealership_name, |
| 17 | d.Email AS dealership_email, |
| 18 | |
| 19 | (SELECT string_agg(phone_number, ', ') |
| 20 | FROM dealership_telephones dt |
| 21 | WHERE dt.dealership_tax_nr = d.Tax_Nr) AS dealership_telephones, |
| 22 | |
| 23 | (SELECT string_agg(brand_name, ', ') |
| 24 | FROM dealership_brands db |
| 25 | WHERE db.dealership_tax_nr = d.Tax_Nr) AS dealership_brands, |
| 26 | |
| 27 | d.Addres AS dealership_address, |
| 28 | |
| 29 | v.Make AS car_make, |
| 30 | v.Model AS car_model, |
| 31 | v.P_Year AS car_year, |
| 32 | v.Capacity AS car_capacity, |
| 33 | v.Power AS car_power, |
| 34 | v.Color AS car_color, |
| 35 | v.Price AS car_price, |
| 36 | |
| 37 | c.C_Name AS client_name, |
| 38 | c.Email AS client_email, |
| 39 | c.Telephone AS client_phone, |
| 40 | p.Amount AS payment_amount |
| 41 | |
| 42 | |
| 43 | FROM |
| 44 | agreement a |
| 45 | JOIN dealership d ON a.Tax_Nr = d.Tax_Nr |
| 46 | JOIN vehicle v ON a.VIN = v.VIN |
| 47 | JOIN client c ON a.EMBG = c.EMBG |
| 48 | LEFT JOIN payment p ON a.A_Id = p.A_Id |
| 49 | WHERE |
| 50 | a.Status = true; |
| 51 | |
| 52 | }}} |
| 53 | |
| 54 | |
| 55 | Овој поглед е за клиенти кои имаат извршено уплата за 2 или повеќе возила, и би бил корисен како маркетин алатка, да се испраќаат новости за нови огласи на тие корисници |
| 56 | {{{ |
| 57 | CREATE OR REPLACE VIEW clients_with_2_or_more_vehicles AS |
| 58 | SELECT |
| 59 | c.EMBG AS client_embg, |
| 60 | c.C_Name AS client_name, |
| 61 | c.Email AS client_email, |
| 62 | c.Telephone AS client_phone, |
| 63 | COUNT(DISTINCT v.VIN) AS number_of_vehicles, |
| 64 | SUM(p.Amount) AS total_paid_amount |
| 65 | |
| 66 | FROM |
| 67 | client c |
| 68 | JOIN agreement a ON c.EMBG = a.EMBG |
| 69 | JOIN vehicle v ON a.VIN = v.VIN |
| 70 | LEFT JOIN payment p ON a.A_Id = p.A_Id AND p.Amount > 0 |
| 71 | GROUP BY |
| 72 | c.EMBG, c.C_Name, c.Email, c.Telephone |
| 73 | HAVING |
| 74 | COUNT(DISTINCT v.VIN) >= 2; |
| 75 | |
| 76 | }}} |