关键在于怎么根据btype计算bonus,用case when正好可以达成目的

select em.emp_no,first_name,last_name,btype,salary,bonus from
employees em inner join
(select e.emp_no as emp_no,btype,salary,case btype
when 1 then salary0.1
when 2 then salary
0.2
else salary*0.3
end bonus
from emp_bonus e left join salaries s on e.emp_no=s.emp_no
where s.to_date = '9999-01-01')tmp
on em.emp_no = tmp.emp_no