父子类排序
表A,有四个字段,父类ParentID,子类ChildID,所处级别Level,大分类SortID
ChildID ParentID Level SortID
A A 1 类型一
B B 1 类型一
C C 1 类型二
D D 1 类型一
AA A 2 类型一
AAA AA 3 类型一
DD D 2 类型一
…
要求排序之后成为
A A 1 类型一
AA A 2 类型一
AAA AA 3 类型一
B B 1 类型一
D D 1 类型一
DD DD 2 类型一
C C 1 类型二
即要求先按SortID分类,之后根据父子关系排序,Level是层次关系,如果父子关系Level相差值为1,我想在SQL里面实现,调试很久多没办法实现,请各位高手帮忙给点意见,我之前是多增加一个编号,然后在程序里面实现的,感觉那个很容易出现问题,而且计算比较繁琐
------解决方案--------------------可行的方法有很多种,基于你目前的表结构,如果层次深度不超过三级,用左连接应该可以处理。
------解决方案--------------------declare @t table(ChildID varchar(10),ParentID varchar(10),Level int,SortID