SELECT customer.*, purchase.* FROM customer JOIN ( SELECT DISTINCT ON (customer_id) * FROM purchase ORDER BY customer_id, date DESC ) purchase ON purchase.customer_id = customer.id