问题描述
我有一个 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 (将#修改为@)