WITH dt AS (
SELECT customer_id
FROM customer
WHERE first_name='DOROTHY' AND last_name='TAYLOR'
),
aug_dt AS (
SELECT r.*
FROM rental r
JOIN dt ON r.customer_id = dt.customer_id
WHERE
(r.rental_date BETWEEN '2005-08-01 00:00:00' AND '2005-08-31 23:59')
AND (r.return_date BETWEEN '2005-08-01' AND '2005-08-31')
),
inv_dt as(
select film_id,rental_id,rental_date,return_date
from inventory as inv
inner join aug_dt on inv. inventory_id =aug_dt. inventory_id
),
film_dt as (
select f.title,rental_id,rental_date,return_date, rental_rate
from film as f
inner join inv_dt on inv_dt.film_id=f.film_id
),
pay_dt as (
select title,rental_date, return_date, payment_date,rental_rate,amount-rental_rate as lateness_penalty ,amount
from payment as p
inner join film_dt as fd on fd.rental_id=p.rental_id
order by payment_date
)
select *
from pay_dt