SQL查询的排序问题

王朝知道·作者佚名  2010-12-28
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

题目是这样的 有一个表 第一个字段ID 第二个字段 fudepartment(父部门ID) 第三个字段depaName(部门名称)第四个字段sunxu(用来排序) 这个表是自关联的 也就是说部门下面可能还有部门 现在我想给所有的叶子部门排序(前提是按父部门先排序) sunxu这个字段不是用来直接记录部门的顺序的 它只记录一个部门下的子部门的顺序 这个查询怎么写 麻烦大虾们给点意见 在线等着呢

參考答案:

叶子部门是什么意思?我理解的不知道对不对,

楼主所说的叶子部门应该是本身没有子部门,并且有父部门的部门吧 ?如果没有父部门就无从谈起按父部门排序了。

在排序的条件使用子查询即可。

select *

from 表 a

where fudepartment is not null and not exists(select * from 表 where fudepartment=a.id)

order by (select id from 表 where id=a.fudepartment),sunxu

这个查询结果,会首先按父部门的部门id进行排序,之后再按各子部门在父部门中的顺序排序。不知道是否符合楼主的需要。

另外如果,叶子部门可以有子部门,把not exists的条件去掉即可。

select *

from 表 a

where fudepartment is not null

order by (select id from 表 where id=a.fudepartment),sunxu

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航