-- 逻辑拆解:时间条件-2023年,求值-销售额、销售数量、平均满意度评分,题目难点:销售表和反馈表中,可能存在同一对象多条记录,直接连接会产生笛卡尔积 WITH avg_c_score AS( SELECT sales_id,AVG(satisfaction_score) avg_score FROM customer_feedback GROUP BY sales_id ), total_b_sales AS( SELECT sales_id,brand_id,SUM(sales_quantity) total_quantity,SUM(sales_amount) total_sales FROM sales_data WHERE sales_month BETWEEN '2023-01' AND '2023-12' GROUP BY brand_id,sales_id ) SELECT t1.brand_id, SUM(t1.total_sales) total_sales_amount, SUM(t1.total_quantity) total_sales_quantity, ROUND(AVG(t2.avg_score),2) avg_satisfaction_score FROM total_b_sales t1 LEFT JOIN avg_c_score t2 ON t1.sales_id = t2.sales_id GROUP BY t1.brand_id ORDER BY t1.brand_id