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