--拆解写法,容易理解,因为连表会产生很多条基础工资,题目我们只提取一个一次基础工资,所以比如全部算完在连接,这样把每个人的工资增加或者扣除,就只有一条个人数据。 with tiaojian as ( select courier_id, sum(delivery_fee) as ps from deliveries_info where date_format(delivery_date,"%Y%m")=202407 group by courier_id ),tiaojian1 as ( select courier_id, sum(expense_amount) as zc from expenses_info where date_format(expense_date,"%Y%m")=202407 group by courier_id ) select cf.courier_id, cf.courier_name, cf.base_salary+t.ps-t1.zc as total_income from couriers_info cf inner join tiaojian t on cf.courier_id=t.courier_id inner join tiaojian1 t1 on t1.courier_id=cf.courier_id order by cf.courier_id



京公网安备 11010502036488号