通常查找小时工资是简单的SQL语句。但是,如下面的数据所示,SalaryWage列的值存储为年工资和小时工资。我需要按谁拥有最高的小时工资来分类。不知何故,您需要采用列出年薪的SalaryWage列,并将这些值转换为小时工资。然后按小时工资排序。
这是我到目前为止所以你可以看到我的表名等等。
select EMPLOYEEID, LASTNAME || ', ' || FIRSTNAME As Employee_Name, HIREDATE, SALARYWAGE
from EMPLOYEE;
下载下面的Excel文件 http://www.filedropper.com/book1_6
EmployeeID Employee_Name HIREDATE SALARYWAGE
100001 Manaugh, Jim 15-Mar-09 75500
100101 Rosner, Joanne 4-Apr-09 16.3
100103 Bush, Rita 30-Jan-09 85800
答案 0 :(得分:1)
基于CASE
表达式的列可以使数据在当前条件下轻松完成,也可以在同一级别的ORDER BY
中引用,因此您不必使用SELECT EMPLOYEEID, LASTNAME || ', ' || FIRSTNAME As Employee_Name,
HIREDATE, SALARYWAGE,
CASE WHEN (SALARYWAGE > 1000) THEN (salarywage / 2000)
ELSE salarywage END
AS hourlywage
FROM EMPLOYEE ORDER BY hourlywage DESC;
表达式。需要将逻辑推入子选择。也就是说,我与@ Clockwork-Muse一样关注使用单一栏目存储两种不同薪酬类型(年度与小时)的合理性。我希望原始问题是隔离和转换薪资数据以使用相同工资期的短暂努力的一部分。
{{1}}