From 2e026f7c5ecfc3dc2b1b294de6318403aed94d60 Mon Sep 17 00:00:00 2001 From: AnaP2020 Date: Sat, 11 Jul 2026 09:06:35 +0100 Subject: [PATCH] Unit 9 Lab 6 done --- Lab 6.sql | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Lab 6.sql diff --git a/Lab 6.sql b/Lab 6.sql new file mode 100644 index 0000000..b48094a --- /dev/null +++ b/Lab 6.sql @@ -0,0 +1,48 @@ +USE sakila +-- Creating a View +CREATE VIEW customer_rental_summary AS +SELECT + c.customer_id, + CONCAT(c.first_name, ' ', c.last_name) AS customer_name, + c.email, + COUNT(r.rental_id) AS rental_count +FROM + customer c +JOIN + rental r ON c.customer_id = r.customer_id +GROUP BY + c.customer_id, c.first_name, c.last_name, c.email; + +-- Creating a Temporary Table +CREATE TEMPORARY TABLE customer_payment_summary AS +SELECT + c.customer_id, + SUM(p.amount) AS total_paid +FROM + customer c +JOIN + payment p ON c.customer_id = p.customer_id +GROUP BY + c.customer_id; + +-- Creating a CTE and the Customer Summary Report +WITH customer_summary AS ( + SELECT + crs.customer_name, + crs.email, + crs.rental_count, + cps.total_paid + FROM + customer_rental_summary crs + JOIN + customer_payment_summary cps ON crs.customer_id = cps.customer_id +) +SELECT + customer_name, + email, + rental_count, + total_paid, + (total_paid / NULLIF(rental_count, 0)) AS average_payment_per_rental +FROM + customer_summary; +