题解 | #获取有奖金的员工相关信息。#

获取有奖金的员工相关信息。

http://www.nowcoder.com/practice/5cdbf1dcbe8d4c689020b6b2743820bf

方法一 简单方法

SELECT e.emp_no
        ,e.first_name
        ,e.last_name
        ,eb.btype
        ,s.salary
        ,s.salary*(eb.btype*0.1) AS bonus
FROM employees e
JOIN salaries s on e.emp_no = s.emp_no
JOIN emp_bonus eb on e.emp_no = eb.emp_no
WHERE s.to_date='9999-01-01'

方法二 CASE WHEN 方法

SELECT e.emp_no
        ,e.first_name
        ,e.last_name
        ,eb.btype
        ,s.salary
        ,CASE WHEN eb.btype = 1 THEN s.salary * 0.1
         WHEN eb.btype = 2 THEN s.salary * 0.2
         ELSE s.salary * 0.3
         END bonus
FROM employees e
JOIN salaries s on e.emp_no = s.emp_no
JOIN emp_bonus eb on e.emp_no = eb.emp_no
WHERE s.to_date='9999-01-01'
全部评论

相关推荐

10-10 01:10
已编辑
深圳大学 测试开发
面了100年面试不知...:六月到九月,四个项目一个实习,是魔丸吗
投了多少份简历才上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务