MySQL: caso-cuándo
Cuando la declaración de consulta de Mysql requiere múltiples juicios para un determinado campo, puede usar la estructura de caso-cuando-entonces
Tomemos un ejemplo, el tema de Mysql de una determinada red de clientes: 59
Proporcione emp_no, first_name, last_name, tipo de bonificación btype, el salario de la situación salarial actual correspondiente y la bonificación del importe de la bonificación. El tipo de bonificación btype es 1 y la bonificación es el 10% del salario, y el btype es 2, la bonificación es el 20% del salario y los otros tipos son el 30% del salario. El salario actual indica to_date = '9999-01-01'
select e.emp_no,e.first_name,e.last_name,b.btype,s.salary,
(case b.btype
when 1 then s.salary*0.1
when 2 then s.salary*0.2
when 3 then s.salary*0.3
end) bonus
from employees e
join emp_bonus b on e.emp_no = b.emp_no
join salaries s on e.emp_no=s.emp_no
where s.to_date = "9999-01-01"
group by e.emp_no