SELECT 
    a.merchant_id,
    a.merchant_name,
    COALESCE(b.total_sales, 0) AS total_sales_amount,
    COALESCE(c.total_refunds, 0) AS total_refund_amount,
    ROUND(COALESCE(d.avg_satisfaction, 0),2) AS average_satisfaction_score
FROM 
    merchants_underline a
LEFT JOIN (
    SELECT merchant_id, SUM(sale_amount) AS total_sales
    FROM sales_underline
    GROUP BY merchant_id
) b ON a.merchant_id = b.merchant_id
LEFT JOIN (
    SELECT merchant_id, SUM(refund_amount) AS total_refunds
    FROM refunds_underline
    GROUP BY merchant_id
) c ON a.merchant_id = c.merchant_id
LEFT JOIN (
    SELECT merchant_id, AVG(satisfaction_score) AS avg_satisfaction
    FROM satisfaction_underline
    GROUP BY merchant_id
) d ON a.merchant_id = d.merchant_id

表多但是实在吓唬人,把每个表该做的事情分别做好之后再进行表连结就好了