Changes between Initial Version and Version 1 of Views


Ignore:
Timestamp:
09/11/25 03:50:57 (12 hours ago)
Author:
141515
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Views

    v1 v1  
     1== Погледи
     2
     3Овој поглед е за сите активни договори кои постојат.
     4
     5{{{
     6CREATE OR REPLACE VIEW active_agreements_view AS
     7SELECT
     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
     43FROM
     44    agreement a
     45JOIN dealership d ON a.Tax_Nr = d.Tax_Nr
     46JOIN vehicle v ON a.VIN = v.VIN
     47JOIN client c ON a.EMBG = c.EMBG
     48LEFT JOIN payment p ON a.A_Id = p.A_Id
     49WHERE
     50    a.Status = true;
     51
     52}}}
     53
     54
     55Овој поглед е за клиенти кои имаат извршено уплата за 2 или повеќе возила, и би бил корисен како маркетин алатка, да се испраќаат новости за нови огласи на тие корисници
     56{{{
     57CREATE OR REPLACE VIEW clients_with_2_or_more_vehicles AS
     58SELECT
     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   
     66FROM
     67    client c
     68JOIN agreement a ON c.EMBG = a.EMBG
     69JOIN vehicle v ON a.VIN = v.VIN
     70LEFT JOIN payment p ON a.A_Id = p.A_Id AND p.Amount > 0
     71GROUP BY
     72    c.EMBG, c.C_Name, c.Email, c.Telephone
     73HAVING
     74    COUNT(DISTINCT v.VIN) >= 2;
     75
     76}}}