部门层级关系排序

数据表字段就只是id,name,pid,怎么让它按层级排序,就像excel的这个

image.png

最好直接用sql

image.png

FineReport 18328816101 发布于 2020-1-7 14:03 (编辑于 2020-1-7 14:47)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
qhlLv6中级互助
发布于2020-1-7 14:15(编辑于 2020-1-7 14:30)

如果id列是字符串,在SQL直接order by id就可以按照你的需求排序了;

image.png

  • 18328816101 18328816101(提问者) 我excel不是有个CSC吗,这是最顶级部门,直接order by的话CSC跑中间去了
    2020-01-07 14:26 
  • qhl qhl 回复 18328816101(提问者) 那改成order by (case id when \'CSC\' then 1 else id end)
    2020-01-07 14:28 
  • 18328816101 18328816101(提问者) 回复 qhl 报错,我截了图,那是没排序的第一个id值
    2020-01-07 14:47 
  • qhl qhl 回复 18328816101(提问者) 你把你写的SQL我看下,这个错是说类型转换错误,不能把YP060204转换成int
    2020-01-07 14:55 
  • 18328816101 18328816101(提问者) 回复 qhl select * from hr_cost order by (case cost_code when \'CSC\' then 1 else cost_code end)
    2020-01-07 14:56 
最佳回答
0
JackloveLv7高级互助
发布于2020-1-7 14:57(编辑于 2020-1-7 14:59)

什么数据库  如果是sqlserver的话试试下个  如果其他的话搜一下对应数据库的截取字串符的语句

order by substring(成本中心编码字段,3,2)


  • 18328816101 18328816101(提问者) SQL server,截取第3、4个是什么意思
    2020-01-07 15:12 
  • Jacklove Jacklove 回复 18328816101(提问者) 可以达到效果么?????
    2020-01-07 15:17 
  • 18328816101 18328816101(提问者) 回复 Jacklove 不行啊,直接order by code的话除了CSC其他没问题,这是最顶级部门,用order by的话CSC会到跑中间去
    2020-01-07 15:35 
  • 3关注人数
  • 959浏览人数
  • 最后回答于:2020-1-7 14:59
    请选择关闭问题的原因
    确定 取消
    返回顶部