排序时如何不用 siblings 关键字提供的特性进行相同的排序输出 ? 曾经有个需求就是在低版本Oracle中要实现这个功能. 当时有个客观的条件就是层次 level 最多为 3 层 我写了个比较复杂的, 希望能看到更简单的写法. select cast(lpad(empno,level*4)||ename as varchar2(25)) empnoname,hiredate,mgr from emp start with mgr is null connect by prior empno = mgr order siblings by hiredate / EMPNONAME HIREDATE MGR ------------------------- ----------- ----- 7839KING 1981-11-17 7566JONES 1981-04-02 7839 7902FORD 1981-12-03 7566 7369SMITH 1980-12-17 7902 7788SCOTT 1987-04-19 7566 7876ADAMS 1987-05-23 7788 7698BLAKE 1981-05-01 7839 7499ALLEN 1981-02-20 7698 7521WARD 1981-02-22 7698 7844TURNER 1981-09-08 7698 7654MARTIN 1981-09-28 7698 7900JAMES 1981-12-03 7698 7782CLARK 1981-06-09 7839 7934MILLER 1982-01-23 7782 14 rows selected |
Oracle SIBLINGS
最新推荐文章于 2023-08-09 10:03:08 发布