MySQL --- caso-cuando

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

Supongo que te gusta

Origin blog.csdn.net/qq_43288259/article/details/114403060
Recomendado
Clasificación