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