'Combining multiple queries

I want a table with all customers and their last charge transaction date and their last invoice date. I have the first two, but don't know how to add the last invoice date to the table. Here's what I have so far:

WITH

--Last customer transaction 
cust_trans AS (
        SELECT customer_id, created
        FROM charges a
        WHERE created = (
           SELECT MAX(created) AS last_trans
           FROM charges b
           WHERE a.customer_id = b.customer_id)),

--All customers
all_cust AS (
        SELECT customers.id AS customer, customers.email, CAST(customers.created AS DATE) AS join_date, ((1.0 * customers.account_balance)/100) AS balance
    FROM customers),
    
--Last customer invoice    
cust_inv AS (
        SELECT customer_id, date
        FROM invoices a
        WHERE date = (
       SELECT MAX(date) AS last_inv
           FROM invoices b
           WHERE a.customer_id = b.customer_id))
        
SELECT * FROM cust_trans
RIGHT JOIN all_cust ON all_cust.customer = cust_trans.customer_id
ORDER BY join_date;
sql


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source