【发布时间】:2020-05-13 15:41:51
【问题描述】:
我有一个要排序的 BOM,如附图所示,我似乎无法在 SQL 中对多级进行排序。 在这个列表中,孩子可以是父母。 位置似乎是一个不错的方法,但看看位置 3。当级别发生变化时,它们有两个。 (如果错了会加入吗?) 级别是项目的级别。这是一致的。 如果有人可以提供帮助,我将不胜感激。
错误的(未排序的)表
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
【问题讨论】:
-
请检查您的第二张表不是已排序的。
-
我在我的表格中资助了一个对我有用的专栏。有没有办法删除这个问题?我不希望任何人搜索并找到没有解决方案的问题。
标签: sql multi-level