with 
t1 as(
    select
        p.category as product_category,
        c.age_group as age_group,
        sum(s.quantity*s.price) as total_group_sales_amount
    from customer_info c 
    left join sales s on c.sale_id=s.sale_id
    left join products p on s.product_id=p.product_id
    group by p.category,c.age_group),
t2 as(
    select
        p.category as product_category,
        sum(s.quantity*s.price) as total_catgotry_sales_amount
    from customer_info c 
    left join sales s on c.sale_id=s.sale_id
    left join products p on s.product_id=p.product_id
    group by p.category)

select 
t1.product_category,
t1.age_group,
t1.total_group_sales_amount as total_sales_amount,
round(t1.total_group_sales_amount/t2.total_catgotry_sales_amount,2) as purchase_percentage
from t1 left join t2 on t1.product_category=t2.product_category
order by t1.product_category,t1.age_group;