如何在SQL中根据多级表进行排序?

问题描述 投票:-1回答:1

我有一个BOM要排序,如附图所示,我似乎无法在SQL中进行多级排序.在这个列表中Child可以是父级.Position似乎是一个很好的方法,但看Poition 3.当级别变化时有两个。(会不会如果是错误的Join?)Level是项目的级别.是一致的.如果有人能帮助我,我将感激不尽。


错误(未排序)表

itemSpecID  +  ParentID  +  ChildID  +  Position  +  Level  +  ItemSpecStrucID  +  ItemNo         +
151382      +  151382    +  150776   +  17        +  1      +  469912           +  FOAM-KIT-00595 +
151382      +  151382    +  151383   +  0         +  1      +  469908           +  CHAR-FRM-00708 +
151382      +  151383    +  151372   +  2         +  2      +  469916           +  HDWR-MIS-00024
151382      +  151383    +  151373   +  3         +  2      +  469917           +  HDWR-MIS-00025
151382      +  151383    +  151374   +  4         +  2      +  469918           +  HDWR-MIS-00026
151382      +  151383    +  151384   +  1         +  2      +  469915           +  HDWR-MIS-00023
151382      +  151382    +  151344   +  4         +  1      +  469910           +  SRVC-GEN-00014
151382      +  151382    +  149441   +  5         +  1      +  469911           +  PANL-BAK-00284
151382      +  151382    +  149079   +  3         +  1      +  469909           +  PANL-SAT-00300
151382      +  151382    +  150765   +  18        +  1      +  469913           +  HDWR-BRK-00015
151382      +  151382    +  150810   +  20        +  1      +  469914           +  FABR-DOUX-00004

需要最后分拣

itemSpecID  +  ParentID  +  ChildID  +  Position  +  Level  +  ItemSpecStrucID  +  ItemNo
151382      +  151382    +  151383   +  0         +  1      +  469908           +  CHAR-FRM-00708
151382      +  151383    +  151384   +  1         +  2      +  469915           +  HDWR-MIS-00023
151382      +  151383    +  151372   +  2         +  2      +  469916           +  HDWR-MIS-00024
151382      +  151383    +  151373   +  3         +  2      +  469917           +  HDWR-MIS-00025
151382      +  151383    +  151374   +  4         +  2      +  469918           +  HDWR-MIS-00026
151382      +  151382    +  149079   +  3         +  1      +  469909           +  PANL-SAT-00300
151382      +  151382    +  151344   +  4         +  1      +  469910           +  SRVC-GEN-00014
151382      +  151382    +  149441   +  5         +  1      +  469911           +  PANL-BAK-00284
151382      +  151382    +  150776   +  17        +  1      +  469912           +  FOAM-KIT-00595
151382      +  151382    +  150765   +  18        +  1      +  469913           +  HDWR-BRK-00015
151382      +  151382    +  150810   +  20        +  1      +  469914           +  FABR-DOUX-00004

Item BOM looks like

sql multi-level
1个回答
0
投票

我在我的表中找到了一个列,帮助我按照我想要的方式排序.不幸的是,这个问题不会让任何人受益,我发现没有办法删除这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.