我正在尝试查询 WindChill 数据库以获取给定部件(装配体)的所有子部件。我现在拥有的是这样的:
-- this is how sql server management studio rewrites an oracle join
SELECT M1.WTPARTNUMBER AS COMPONENT, M2.WTPARTNUMBER AS ASSEMBLY, MAX(WTPARTUSAGELINK.AMOUNTA7) AS AMOUNT
FROM WTPART, WTPARTMASTER M2, WTPARTUSAGELINK, WTPARTMASTER M1
WHERE WTPART.IDA3MASTERREFERENCE = M2.IDA2A2
AND WTPART.IDA2A2 = WTPARTUSAGELINK.IDA3A5
AND WTPARTUSAGELINK.IDA3B5 = M1.IDA2A2
GROUP BY M2.WTPARTNUMBER, M1.WTPARTNUMBER
order by M2.WTPARTNUMBER, M1.WTPARTNUMBER
它的工作原理是我得到了每个程序集及其部件的列表,稍后我可以在构建我的树时对其进行过滤。这很好,总共有 1k 个程序集。
问题是我还得到了从 WindChill 中删除的行(它们未显示在 WindChill Web 应用程序中)。我意识到这是一个很长的镜头,但是我是否需要加入另一个表或其他东西来确定是否实际包含潜在的子部分?