P7: advanced_views.sql

File advanced_views.sql, 1.2 KB (added by 193284, 8 days ago)
Line 
1CREATE OR REPLACE VIEW vw_wedding_financial_summary AS
2SELECT
3 w.wedding_id,
4 w.budget,
5 calculate_wedding_total_cost(w.wedding_id) AS total_cost,
6 w.budget - calculate_wedding_total_cost(w.wedding_id) AS remaining_budget
7FROM wedding w;
8
9
10CREATE OR REPLACE VIEW vw_rsvp_overview AS
11SELECT
12 e.event_id,
13 e.event_type,
14 r.status,
15 COUNT(*) AS total
16FROM event_rsvp r
17JOIN event e ON r.event_id = e.event_id
18GROUP BY e.event_id, e.event_type, r.status;
19
20
21CREATE OR REPLACE VIEW vw_vendor_booking_overview AS
22SELECT DISTINCT
23 w.wedding_id,
24 v.name AS venue_name,
25 p.name AS photographer_name,
26 b.band_name
27FROM wedding w
28LEFT JOIN venue_booking vb ON w.wedding_id = vb.wedding_id
29LEFT JOIN venue v ON vb.venue_id = v.venue_id
30LEFT JOIN photographer_booking pb ON w.wedding_id = pb.wedding_id
31LEFT JOIN photographer p ON pb.photographer_id = p.photographer_id
32LEFT JOIN band_booking bb ON w.wedding_id = bb.wedding_id
33LEFT JOIN band b ON bb.band_id = b.band_id;
34
35
36CREATE OR REPLACE VIEW vw_upcoming_weddings AS
37SELECT
38 wedding_id,
39 "date" AS wedding_date,
40 budget,
41 notes
42FROM wedding
43WHERE "date" >= CURRENT_DATE;