| | 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 | }}} |