关键在于怎么根据btype计算bonus,用case when正好可以达成目的 select em.emp_no,first_name,last_name,btype,salary,bonus fromemployees em inner join(select e.emp_no as emp_no,btype,salary,case btype when 1 then salary0.1 when 2 then salary0.2 else salary*0.3 end bonus from emp_bonus e left join salaries s on e....