DatabaseCreation: 11 Customer subscription status timeline.sql

File 11 Customer subscription status timeline.sql, 983 bytes (added by 231139, 10 days ago)
Line 
1DROP VIEW IF EXISTS public.v_customer_subscription_status_timeline;
2
3CREATE VIEW public.v_customer_subscription_status_timeline 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 ssh.status_history_id,
11 ssh.old_status,
12 ssh.new_status,
13 ssh.changed_at,
14 ssh.reason,
15 e.first_name || ' ' || e.last_name AS changed_by_employee,
16 ROW_NUMBER() OVER (PARTITION BY s.subscription_id ORDER BY ssh.changed_at, ssh.status_history_id) AS status_sequence
17FROM public.customers c
18JOIN public.accounts a ON a.customer_id = c.customer_id
19JOIN public.subscriptions s ON s.account_id = a.account_id
20JOIN public.plans p ON p.plan_id = s.plan_id
21JOIN public.subscription_status_history ssh ON ssh.subscription_id = s.subscription_id
22LEFT JOIN public.employees e ON e.employee_id = ssh.changed_by_employee_id;
23