按照奖金类型和工资发奖金
获取有奖金的员工相关信息。
http://www.nowcoder.com/questionTerminal/5cdbf1dcbe8d4c689020b6b2743820bf
思路1:题目可以发现奖金类型与奖金比例的关系是btype*0.1,所以可以直接计算。(这里要用*0.1,不能用/10,否则会报错)
select e.emp_no ,e.first_name ,e.last_name ,b.btype ,s.salary ,(s.salary*b.btype*0.1) as bonus from employees e join salaries s on e.emp_no=s.emp_no join emp_bonus b on e.emp_no=b.emp_no where s.to_date='9999-01-01';
思路2:用case进行分类。
select e.emp_no ,e.first_name ,e.last_name ,b.btype ,s.salary ,case when b.btype=1 then s.salary*0.1 when b.btype=2 then s.salary*0.2 else s.salary*0.3 end as bonus from employees e join salaries s on e.emp_no=s.emp_no join emp_bonus b on e.emp_no=b.emp_no where s.to_date='9999-01-01';思路3:先把每个奖金类型的分别按输出格式查出来,最后用union拼接。