目前有一个部门字典表,有部门标号字段dmid,名称mc,父编号pid,排序字
段vid,其中排序字段是后加的,因为报表输出的单位顺序与dmid字段的值的
顺序是不一样的。
表中内容例如:
dmid mc pid vid
0 集团 null 1
001 办公室 0 2
00101 办公室1 0 1
00102 才公室2 0 3
00103 个公室3 0 2
002 人事处 0 1
00201 人事处1 0 1
00202 家人事处 0 3
00203 病人事处 0 2要求输出的顺序是:
dmid mc pid vid
0 集团 null 1
002 人事处 0 1
00201 人事处1 0 1
00203 病人事处 0 2
00202 家人事处 0 3
001 办公室 0 2
00101 办公室1 0 1
00103 个公室3 0 2
00102 才公室2 0 3
用单条SQL,完成排序各位大虾多帮忙,急
呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!
段vid,其中排序字段是后加的,因为报表输出的单位顺序与dmid字段的值的
顺序是不一样的。
表中内容例如:
dmid mc pid vid
0 集团 null 1
001 办公室 0 2
00101 办公室1 0 1
00102 才公室2 0 3
00103 个公室3 0 2
002 人事处 0 1
00201 人事处1 0 1
00202 家人事处 0 3
00203 病人事处 0 2要求输出的顺序是:
dmid mc pid vid
0 集团 null 1
002 人事处 0 1
00201 人事处1 0 1
00203 病人事处 0 2
00202 家人事处 0 3
001 办公室 0 2
00101 办公室1 0 1
00103 个公室3 0 2
00102 才公室2 0 3
用单条SQL,完成排序各位大虾多帮忙,急
呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!
解决方案 »
- Oracle: 怎样用一条SQL语句删除表中字段重复的记录
- 如何保存文件到数据库
- 谁能帮我看看这个存储过程,哪儿写得不对了,谢谢!
- myeclipse连接oracle抛异常
- 数据库锁问题,在线等待!
- 如何设定SEQUENCE,使序列号每天从1开始
- 请教一条SQL语句
- 请问在Oracle中有什么方法或者函数可以代替SQLserver中的diffdate函数~!谢谢
- 求一个SQL语句,关于视图的建立,该如何写呢?我也不知道给多少合适,就给80吧
- 我想问一个比较白痴的问题:写好的PL/SQL语言在哪里执行??
- 请教 insert /*+append */ table nologging selec * from table_other 这种方式下数据库事务的控制
- 急,创建的触发器带有编译错误
-------------------- -------------------- -------------------- ----------
0 集团 1
002 人事处 0 1
00201 人事处1 002 1
00203 病人事处 002 2
00202 家人事处 002 3
001 办公室 0 2
00101 办公室1 001 1
00103 办公室3 001 2
00102 办公室2 001 3数据数据不修改的话也能实现,不过感觉不大规范,pid都没什么用处
SELECT t.* FROM test t START WITH pid IS NULL CONNECT BY substr(dmid,1,length(dmid)-2) = PRIOR dmid ORDER SIBLINGS BY vid