好吧,我认为这应该是一个相当容易的问题,但还没有弄清楚.
我有一张名为Staff的表.工作人员DESC如下:
SQL> DESC Staff
Name Null? Type
----------------------------------------- -------- ----------
SNO NOT NULL CHAR(5)
FNAME VARCHAR2(3
LNAME VARCHAR2(3
POSITION VARCHAR2(1
SEX CHAR(1)
DOB DATE
SALARY NUMBER(9)
BNO CHAR(4)
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的当前查询:
SELECT bNo, lName||' '||fName, position, salary
FROM Staff
WHERE bNo 'b009'
OR bNo = 'b005'
ORDER BY
case position
when 'Manager' then 1
when 'Secretary' then 2
when 'Supervisor' then 3
when 'Assistant' then 4
else 99
end;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在每个位置组中,我还需要按lName排序.任何提示将非常感谢.提前致谢.
只需添加lName为第二ORDER BY列.
ORDER BY CASE position
WHEN 'Manager' THEN 1
WHEN 'Secretary' THEN 2
WHEN 'Supervisor' THEN 3
WHEN 'Assistant' THEN 4
ELSE 99
END,
lName;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |