| 1 | = Напредни извештаи од базата (SQL и складирани процедури) = |
| 2 | |
| 3 | === Извештај 1: Листа на клиенти со сите активни полиси и деталите за нив === |
| 4 | |
| 5 | Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги. |
| 6 | |
| 7 | {{{#!sql |
| 8 | |
| 9 | SELECT |
| 10 | c.name AS Customer_Name, |
| 11 | c.email AS Customer_Email, |
| 12 | p.p_id AS Policy_ID, |
| 13 | p.sdate AS Start_Date, |
| 14 | p.edate AS End_Date, |
| 15 | CASE |
| 16 | WHEN p.edate >= CURRENT_DATE THEN 'Active' |
| 17 | ELSE 'Expired' |
| 18 | END AS Policy_Status, |
| 19 | pkg.title AS Package_Title, |
| 20 | pkg.total AS Package_Total, |
| 21 | STRING_AGG(cov.cov_type, ', ') AS Covered_Services |
| 22 | FROM |
| 23 | project.Customer c |
| 24 | JOIN |
| 25 | project.Pol_dog pd ON c.c_id = pd.c_id |
| 26 | JOIN |
| 27 | project.Policy p ON pd.policy = p.p_id |
| 28 | JOIN |
| 29 | project.Package pkg ON p.package = pkg.code |
| 30 | LEFT JOIN |
| 31 | project.Covers cov ON pkg.code = cov.package |
| 32 | GROUP BY |
| 33 | c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total |
| 34 | ORDER BY |
| 35 | Customer_Name; |
| 36 | |
| 37 | |
| 38 | }}} |
| 39 | |
| 40 | === Извештај 2: Приходи од полиси по тип и број на клиенти === |
| 41 | |
| 42 | Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет. |
| 43 | |
| 44 | {{{#!sql |
| 45 | |
| 46 | SELECT |
| 47 | pkg.type_pol AS Policy_Type, |
| 48 | COUNT(DISTINCT pd.c_id) AS Total_Customers, |
| 49 | COUNT(DISTINCT p.p_id) AS Total_Policies, |
| 50 | SUM(pay.p_amount) AS Total_Revenue |
| 51 | FROM |
| 52 | project.Package pkg |
| 53 | JOIN |
| 54 | project.Policy p ON pkg.code = p.package |
| 55 | LEFT JOIN |
| 56 | project.Pol_dog pd ON p.p_id = pd.policy |
| 57 | LEFT JOIN |
| 58 | project.Payment pay ON p.p_id = pay.policy |
| 59 | GROUP BY |
| 60 | pkg.type_pol |
| 61 | ORDER BY |
| 62 | Total_Revenue DESC, Total_Customers DESC; |
| 63 | |
| 64 | |
| 65 | }}} |
| 66 | |