方法一:
思路:
使用员工编号为限定条件将三表联结查询,还有限定时间为当前。
然后,嵌套两个if处理薪水情况
其中bonus类型btype为1其奖金为薪水salary的10%,btype为2其奖金为薪水的20%,其他类型均为薪水的30%。
代码:
select eb.emp_no, e.first_name, e.last_name, eb.btype, s.salary, s.salary * if (eb.btype = 1, 0.1, if (eb.btype = 2, 0.2, 0.3)) bonus from emp_bonus eb left join employees e on eb.emp_no = e.emp_no left join salaries s on eb.emp_no = s.emp_no And s.to_date = '9999-01-01'