Oracle案例陈述
考虑下表,并给出了结果集。现在,如何在满足其中一个条件后仅获取一条记录Oracle案例陈述,oracle,Oracle,考虑下表,并给出了结果集。现在,如何在满足其中一个条件后仅获取一条记录 SQL> SELECT ename 2 , job 3 , CASE 4 WHEN sal < 1000 5 THEN 'Low paid' 6 WHEN sal BETWEEN 1001 AND 2000 7 THEN 'Reasonably well paid' 8
SQL> SELECT ename
2 , job
3 , CASE
4 WHEN sal < 1000
5 THEN 'Low paid'
6 WHEN sal BETWEEN 1001 AND 2000
7 THEN 'Reasonably well paid'
8 WHEN sal BETWEEN 2001 AND 3001
9 THEN 'Well paid'
10 ELSE 'Overpaid'
11 END AS pay_status
12 FROM emp;
ENAME JOB PAY_STATUS
---------- --------- --------------------
SMITH CLERK Low paid
ALLEN SALESMAN Reasonably well paid
WARD SALESMAN Reasonably well paid
JONES MANAGER Well paid
MARTIN SALESMAN Reasonably well paid
BLAKE MANAGER Well paid
CLARK MANAGER Well paid
SCOTT ANALYST Well paid
KING PRESIDENT Overpaid
TURNER SALESMAN Reasonably well paid
ADAMS CLERK Reasonably well paid
JAMES CLERK Low paid
FORD ANALYST Well paid
MILLER CLERK Reasonably well paid
若要为满足的每个条件仅获取一条记录,请在SELECT语句中应用DISTICT SQL>选择不同的名称 2、工作 3、案例 4当sal<1000时 5然后是“低收入” 6当sal在1001和2000之间时 7然后是“合理的高薪” 8当sal在2001年至3001年间 9然后“高薪” 10其他“多付” 11以支付状态结束 环境管理计划12份;
您可以使用rownum函数,但如果第一个条件失败,即此条件不存在记录,第二个条件通过,应仅返回第二行,依此类推。rownum将随机返回整个结果集中的有限记录。但是,OP希望每个条件都有不同的行。假设您给出的结果集不是您希望的结果集,您可以详细说明您期望的结果集吗。