用友U8物料清单中的子件用途表-多阶查询,查询后bom结构树混乱,层级顺序混乱

用友U8物料清单中的子件用途表-多阶查询,查询后bom结构树混乱,层级顺序混乱

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到了一个使用 SQL Server 查询友 U8 物料清单中的子件用途表,查询后 BOM 结构树混乱的问题。
可能的原因是查询语句没有正确地处理层级关系,导致了 BOM 结构树的混乱。
建议你尝试使用 Common Table Expression (CTE) 或 Recursive Common Table Expression (Recursive CTE) 来查询 BOM 结构树。下面是一个示例代码:
WITH BomTree AS (
SELECT
BomCode,
BomName,
ParentCode,
0 AS Level
FROM
BomTreeTable
WHERE
ParentCode IS NULL
UNION ALL
SELECT
bt.BomCode,
bt.BomName,
bt.ParentCode,
Level + 1
FROM
BomTreeTable bt
INNER JOIN
BomTree AS parent ON bt.ParentCode = parent.BomCode
)
SELECT * FROM BomTree
ORDER BY BomCode, Level;
这个示例代码使用 Recursive CTE 来查询 BOM 结构树,Level 列表示每个 BomCode 的层级关系。
你可以根据你的实际情况修改查询语句,并尝试使用 CTE 或 Recursive CTE 来解决问题。