使用CASE或存储过程查询T-SQL

时间:2019-07-04 16:43:52

标签: sql sql-server tsql

我有一个查询,该查询选择员工薪水,我需要让所有员工知道薪水高于预算。但是,我的问题是某些职位的最高工资为时薪和一些年薪。因此,我需要将每小时工资乘以2080才能获得年薪。

所以我正在做类似的事情,但是没有用

Select 
    emp_code, emp_name, emp_last_name, 
    emp_max_pay, emp_salary
    CASE 
       WHEN emp_max_pay = '##.##' THEN emp_max_pay * 2080
       ELSE   
    END

您可以看到我有薪水,时薪或年薪:

2 个答案:

答案 0 :(得分:3)

最大薪水何时低于$ 100,然后再延长,否则增加最高薪水。假设每小时的费率不超过$ 100 /小时。

CASE WHEN emp_max_pay < 100 THEN emp_max_pay * 2080  ELSE  emp_max_pay END

答案 1 :(得分:0)

首先,您需要确定最高工资水平。例如,假设最高薪水为“ X”,然后以2080乘以其他方式保持不变。

案例    当emp_max_pay <'X'然后emp_max_pay * 2080    其他emp_max_pay END [薪水]