-- 用连接去做,核心是有奖金的用户,那么emp_bonus应该为基表
SELECT
t1.emp_no,
t2.first_name,
t2.last_name,
t1.btype,
t3.salary,
ROUND(CASE
WHEN t1.btype = 1 THEN t3.salary * 0.1
WHEN t1.btype = 2 THEN t3.salary * 0.2
ELSE t3.salary*0.3
END,1) bonus
FROM emp_bonus t1
LEFT JOIN employees t2
ON t1.emp_no = t2.emp_no
LEFT JOIN salaries t3
ON t1.emp_no = t3.emp_no
WHERE t3.to_date = '9999-01-01'
ORDER BY emp_no

京公网安备 11010502036488号