如何解决SQL递归从PSP获取BOM
我有一个 MS SQL Server (2016) 和一个包含 i.a.像这样的表:(它是在 Autodesk PSP 数据库中创建的视图 - 请不要问为什么...... :-))
CHILD_AIMKEY | 数量 | PARENT_AIMKEY | StatusOfParent | StatusOfChild |
---|---|---|---|---|
5706657 | 1 | 5664344 | 100 | 103 |
5706745 | 1 | 5664344 | 100 | 103 |
5707104 | 1 | 5664344 | 100 | 103 |
5707109 | 1 | 5664344 | 100 | 100 |
5801062 | 1 | 5664344 | 100 | 103 |
“孩子”可以包含其他“孩子”,在这种情况下,他们将成为他们的“父母”。
所以它是来自 CAD PDM 系统的标准结构化 BOM 表。
如果我执行以下“选择语句”,我会得到顶级父级的所有子级:
SELECT [CHILD_AIMKEY],[POSITION],[QUANTITY],[PARENT_AIMKEY],[StatusOfParent],[StatusChild] FROM database_table where Parent_aimkey = '5664344'
(如上表所示)
我的第一个问题是:如何从该表中递归处理每个父级的所有子级? (可能是其他表或直接输出) 格式应为:Parent_Aimkey、Child_Aimkey、Quantity
第二个问题有点复杂:
我用一些“伪代码”试试:
If Tree_Level_of_DIRECT_Parent < 3 then show CHILD_AIMKEY,QUANTITY in queryresult_above
If Tree_Level_of_DIRECT_Parent > 2 and StatusOf_DIRECT_Parent = 103 and StatusOf_DIRECT_Child = 103 then show CHILD_AIMKEY,QUANTITY in queryresult_above
这在某种程度上可能吗? (如果需要扩展其他字段或其他表的数据库视图,那没问题)
我知道这看起来有点令人困惑,但我需要的是 SQL 语句或存储过程中的 Autodesk Inventor 结构化 BOM。
任何人都会非常感激
谢谢
亚历克斯。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。