DatabaseCreation: 03 Customer SMS history.sql

File 03 Customer SMS history.sql, 1.3 KB (added by 231139, 10 days ago)
Line 
1DROP VIEW IF EXISTS public.v_customer_sms_history;
2
3CREATE VIEW public.v_customer_sms_history AS
4SELECT
5 c.customer_id,
6 CASE WHEN c.customer_type = 'business' THEN c.company_name ELSE c.first_name || ' ' || c.last_name END AS customer_name,
7 a.account_number,
8 s.subscription_number,
9 p.plan_name,
10 sms.sms_cdr_id,
11 sms.source_msisdn AS from_number,
12 sms.destination_msisdn AS to_number,
13 sms.event_time AS sent_at,
14 sms.sms_type,
15 sms.direction,
16 sms.charge_amount,
17 sms.roaming_partner_id IS NOT NULL AS is_roaming,
18 COALESCE(rp.country, 'North Macedonia') AS network_country,
19 ns.region AS network_region,
20 ts.sector_label,
21 ts.frequency_band,
22 nt.generation AS network_generation
23FROM public.customers c
24JOIN public.accounts a ON a.customer_id = c.customer_id
25JOIN public.subscriptions s ON s.account_id = a.account_id
26JOIN public.plans p ON p.plan_id = s.plan_id
27JOIN public.usage_cdr_sms sms ON sms.subscription_id = s.subscription_id
28LEFT JOIN public.roaming_partners rp ON rp.roaming_partner_id = sms.roaming_partner_id
29LEFT JOIN public.tower_sectors ts ON ts.sector_id = sms.sector_id
30LEFT JOIN public.cell_towers ct ON ct.tower_id = ts.tower_id
31LEFT JOIN public.network_sites ns ON ns.site_id = ct.site_id
32LEFT JOIN public.network_technologies nt ON nt.technology_id = ts.technology_id;
33